comando linux encontrado mas não encontrado ao usar o sudo

9

Estou tentando executar uma instalação do python3 assim:

pip3 install django

Eu recebo o erro:

PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python3.6/site-packages/pytz'

Eu então tento:

sudo pip3 install django

Eu recebo o erro:

sudo: pip3: command not found

Veja a aparência do meu $ PATH:

/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ec2-user/.local/bin:/home/ec2-user/bin

Como posso obter acesso ao sudo pip3?

    
por petey 02.01.2018 / 21:31

4 respostas

0

Eu publiquei o django como está:

pip3 install --user django

Isso resolveu o problema.

    
por 03.01.2018 / 23:09
9

O Sudo não está usando o mesmo PATH como seu usuário atual por motivos de segurança. Em /etc/sudoers existe uma opção secure_path que especifica o caminho usado ao executar comandos com o sudo. O meu parece assim:

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

Do sudo manpage:

 secure_path   Path used for every command run from sudo.  If you don't trust the people running sudo to have a sane PATH environment
               variable you may want to use this.  Another use is if you want to have the “root path” be separate from the “user path”.
               Users in the group specified by the exempt_group option are not affected by secure_path.  This option is not set by
               default.

O comando pip3 provavelmente não está no caminho definido pelo arquivo sudoers . Você pode adicionar o caminho ao secure_path ou fornecer o caminho completo para o comando pip3 da seguinte forma:

sudo /path/to/pip3 install django
    
por 02.01.2018 / 21:52
1

É possível que o sudo não esteja preservando sua variável $ PATH no momento do uso. Tente usar o caminho completo para o binário pip3 no comando, por exemplo: sudo /path/to/pip3 install django . Se você não tiver certeza do caminho completo, faça which pip3 .

    
por 02.01.2018 / 21:39
0

Você sempre pode fazer:

sudo env "PATH=$PATH" pip3 install django

Como mencionado em esta resposta .

    
por 03.01.2018 / 22:05