Ao instalar o pip e o python, encontrei um que diz:
O diretório '/ Users / Parthenon / Library / Logs / pi' ou seu diretório pai não é de propriedade do usuário atual e o log de depuração foi desativado. Por favor, verifique as permissões e o proprietário desse diretório. Se estiver executando o pip com o sudo, convém o sinalizador -H.
porque agora tenho que instalar usando sudo
.
Eu tinha python e um punhado de bibliotecas já instaladas no meu Mac, estou executando o Yosemite. Recentemente, tive que fazer uma limpeza limpa e reinstalar o sistema operacional. Agora estou recebendo esse aviso e estou tendo problemas para descobrir como alterá-lo
Antes da minha linha de comando Parthenon$
agora éPhilips-MBP:~ Parthenon$
Eu sou o único proprietário deste computador e esta é a única conta nele. Isso parece ser um problema ao atualizar para o python 3.4, nada parece estar no lugar certo, o virtualenv não está indo para o que eu esperava etc.
fonte
Respostas:
Eu também vi essa alteração no meu Mac quando fui de executar
pip
parasudo pip
. Adicionar-H
ao sudo faz com que a mensagem desapareça para mim. Por exemploman sudo
diz-me que-H
fazsudo
com que seja definido$HOME
para os usuários de destino (neste caso, raiz).Parece que o pip está investigando
$HOME/Library/Log
e,sudo
por padrão, não está definido$HOME
como/root/
. Não surpreendentemente~/Library/Log
, você pertence a você como usuário, e não como root.Eu suspeito que esta é uma mudança recente no pip. Vou executá-lo
sudo -H
por enquanto para contornar.fonte
sudo pip
é totalmente incorreto. Para obter mais informações, consulte aqui stackoverflow.com/questions/33004708/…Qual é o problema aqui é que você de alguma forma instalou no virtualenv usando
sudo
. Provavelmente por acidente. Isso significa que oroot
usuário reescreverá os dados do pacote Python, tornando todos os arquivos pertencentes ao root e o usuário normal não poderá mais gravá-los. Geralmente, o virtualenv deve ser usado e pertencer apenas ao seu usuário UNIX normal.Você pode corrigir o problema alterando o pacote de permissões de arquivo UNIX para seu usuário. Experimentar:
então
pip
deve poder gravar esses arquivos novamente.Mais informações sobre gerenciamento de permissão de arquivo UNIX
fonte
pip install --user <package name>
(nenhum sudo necessário) funcionou para mim para um problema muito semelhante.fonte
informação básica
a chave
a coisa toda
pip3 install requests
e tenho:cd /usr/local/python3/lib/python3.6/site-packages
, então,ls -al
e tenho:quando eu vi isso, entendi, makedirs é uma ação de gravação, mas o modo de solicitações
drwxrwxr-x
exibido apenas o usuário root pode gravar o arquivo de solicitações. Se você adicionar yutou (whoami
) à roda do grupo e modificar o pacote, a roda do grupo pode escrever, então eu posso escrever e o problema foi resolvido.Como adicionar yutou à roda de grupo? + detectar roda de grupo
sudo dscl . -list /groups GroupMembership
, você encontrará:o grupo roda apenas uma raiz de membro. + adicione yutou ao grupo da roda
sudo dscl . -append /Groups/wheel wheel yutou
,. + marcarsudo dscl . -list /groups GroupMembership
,:modificar o modo de pacote python
fonte
Se você alterou sua variável $ PATH, isso também poderia causar o problema. Se você acha que esse pode ser o problema, verifique seu ~ / .bash_profile ou ~ / .bashrc
fonte