根外壳看到pip但sudo pip“未找到命令”


12

我已经通过make和安装了python 2.7.8 make install,然后通过get-pip进行了pip。我必须注意,我在通过代理设置的代理后面工作

  • http_proxy
  • ftp_proxy
  • https_proxy

  • 我的用户的 ~/.zshrc
  • 根的 /root/.basrc

现在我可以跑步了 pip

  • 在我的用户帐户上
  • 在root帐户上

但是我无法使用sudo通过用户的外壳程序运行它

sudo pip
sudo: pip: command not found

怎么了

Answers:


18

这是因为PATH与一起运行时,sudo会有所不同。尝试比较:

which pip
env

sudo which pip
sudo env

一种安全的解决方法是创建一个指向pipin /usr/local/bin或什至的符号链接/usr/bin。如果pip使用软件包管理器进行安装,它将在多个(大多数?)发行版上自动执行此操作。


6
谢谢,alias sudo='sudo env PATH=$PATH'解决了这个问题。
Patryk 2014年

这样做有安全性问题-您不想在所有环境中都盲目设置!
l0b0 2014年

7
我不确定这个答案是否非常清楚,但解决方案的确是ln -s /usr/local/bin/<stuff> /usr/bin/<stuff>
JulienD
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.