O shell root vê pip, mas sudo pip “ comando não encontrado ”

Instalei o python 2.7.8 via make e make install e, em seguida, pip via get-pip . Devo observar que trabalho por trás de um proxy que configurei via

  • http_proxy
  • ftp_proxy
  • https_proxy

em

  • meu usuário “s ~/.zshrc
  • root” s /root/.basrc

agora estou capaz de executar pip

  • na minha conta de usuário
  • na conta root

mas não consigo executá-lo através do shell do meu usuário usando sudo

sudo pip sudo: pip: command not found 

O que há de errado aqui?

Resposta

Isso “acontecerá porque PATH é diferente quando executando com sudo . Tente comparar:

which pip env 

vs.

sudo which pip sudo env 

Uma solução alternativa segura é criar um link simbólico para pip em /usr/local/bin ou mesmo /usr/bin. Se você instalar pip usando um gerenciador de pacotes, ele fará isso automaticamente em várias (na maioria?) Distros.

Comentários

  • obrigado, alias sudo='sudo env PATH=$PATH' resolveu o problema.
  • Existem problemas de segurança com isso – você não ' não quero definir isso cegamente em todos os seus ambientes!
  • Eu ' m não tenho certeza se ficou superclaro nesta resposta, mas a solução é realmente uma ln -s /usr/local/bin/<stuff> /usr/bin/<stuff>

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *