Root Shell ve pip pero sudo pip "comando no encontrado"

12

He instalado Python 2.7.8 a través de makey make instally luego a través de pip get-pip . Tengo que tener en cuenta que trabajo detrás de un proxy que he configurado a través de

  • http_proxy
  • ftp_proxy
  • https_proxy

en

  • mi usuario ~/.zshrc
  • raíz /root/.basrc

ahora puedo correr pip

  • en mi cuenta de usuario
  • en cuenta raíz

pero no puedo ejecutarlo a través del shell de mi usuario usando sudo

sudo pip
sudo: pip: command not found

¿Que esta mal aquí?

Patryk
fuente

Respuestas:

18

Eso se debe a que PATHes diferente cuando se ejecuta consudo . Intenta comparar:

which pip
env

vs.

sudo which pip
sudo env

Una solución segura es crear un enlace simbólico pipen /usr/local/bino incluso /usr/bin. Si instala piputilizando un administrador de paquetes, lo hará automáticamente en varias (¿la mayoría?) Distribuciones.

l0b0
fuente
66
gracias, alias sudo='sudo env PATH=$PATH'resolvió el problema.
Patryk
Hay problemas de seguridad con eso: ¡no desea configurar esto a ciegas en todos sus entornos!
l0b0
77
No estoy seguro de si fue súper claro en esta respuesta, pero la solución es de hecho unln -s /usr/local/bin/<stuff> /usr/bin/<stuff>
JulienD