Quero instalar algum pacote Python usando pip
. Recebo um erro surpreendente:
error: could not create '/home/brian/anaconda/lib/python2.7/site-packages/PyDSTool': Permission denied
----------------------------------------
Command "/home/brian/anaconda/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-EIkik9/pydstool/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ipWEV7-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-EIkik9/pydstool
Ok, aparentemente o comando não tem permissão para criar uma pasta no meu diretório pessoal.Isso já é problemático para mim! Tenho tido problemas com isso e não sei o que fazer...
De qualquer forma, fazer sudo pip install <package of interest>
também não funciona porque:
brian@brian-linux:~$ sudo pip install pydstool
[sudo] password for brian:
sudo: pip: command not found
E agora? Prefiro não me aprofundar nos sudoers e adicionar manualmente o caminho do bin ao qual o sudo não tem acesso. Prefiro que meu diretório inicial se comporte normalmente. Talvez configurar minhas unidades de memória ( /
no SSD e /home
montadas no HDD) tenha sido uma péssima ideia?
Responder1
Parece que as permissões do seu ~/
estão confusas. Todos os arquivos devem ser de sua propriedade. Use find ~/ -user root
para ver se o root assumiu parte dele, especialmente o diretório no erro que você postou. Altere as permissões para você mesmo quando necessário.
Onde você conseguiu o "pip" e como ele foi instalado?
Responder2
Não sei se isso funcionará, mas tentaria criar o diretório independente de abrir ou instalar seu pacote de software.
Eu realmente não sei por que você não deveria conseguir escrever em seu diretório pessoal. É o SEU diretório inicial, certo? Porque se você tentasse instalá-lo no diretório inicial de outra pessoa, isso explicaria.
Você tem apenas uma instalação do Linux em seu disco rígido? Se você tiver mais de um, é muito fácil se confundir sobre qual unidade lógica você está conectado.
Se você fizer sudo su você estará logado como root e poderá fazer o que quiser - mas tenha cuidado porque também é muito mais fácil quebrar seu sistema.