Quando eu uso o sudo pip para instalar o software, recebo a mensagem “o diretório… não é de propriedade do usuário atual”

3
  

O diretório ' /home/bijay/.cache/pip/http ' ou seu diretório pai não é de propriedade do usuário atual e o cache foi desativado. Por favor, verifique as permissões e o proprietário desse diretório. Se estiver executando pip com sudo, você pode querer o sinalizador -H do sudo.

Mas o software é instalado. Eu só quero saber o que diabos acima do erro significa.

Por exemplo: -

    
por Bijay uprety 03.01.2018 / 07:06

1 resposta

2

Quando você executa sudo , seu ambiente é transmitido enquanto o usuário efetivo alterna para root. Seu ambiente inclui que seu ~/ ou diretório inicial (o valor da variável de ambiente HOME ) é /home/bijay .

pip procura por um cache http antes de fazer o download dos pacotes. Provavelmente, por uma combinação de motivos de segurança, sanidade e privacidade, o pip desativa o cache para não gravar em um diretório de cache que não pertence ao usuário atual. Está apenas dizendo a você que fez isso.

Como sugere, usar sudo -H definiria a variável de ambiente HOME antes de executar o comando passado para sudo , usando o diretório raiz do root /root as $HOME em vez do usuário. O cache poderia então ser escrito em /root/.cache/pip/http sem erros.

Como um sidenote, você provavelmente não deveria estar executando pip como root, de qualquer forma.

    
por jdwolf 03.01.2018 / 07:19