简体   繁体   English

sudo 和 pip 不在同一条路径上

[英]sudo and pip not on the same path

pip and sudo are not on the same path on my machine, so when (basically all the time) I need to run both commands, like so: pipsudo在我的机器上不在同一路径上,所以当(基本上一直)我需要运行这两个命令时,如下所示:

sudo pip install xxx

I get:我得到:

sudo: pip: command not found

pip downloads packages, but since access is being denied at the end of installation, it ends up failing. pip下载软件包,但由于在安装结束时访问被拒绝,因此最终失败。

by doing pip -V , ( which pip returns nothing) I get to know where pip is:通过执行pip -V ,( which pip返回任何内容)我知道 pip 在哪里:

pip 1.5.4 from /Library/Python/2.7/site-packages/pip-1.5.4-py2.7.egg (python 2.7)

and by doing sudo bash -c 'echo $PATH' ,并通过执行sudo bash -c 'echo $PATH'

I get:我得到:

/usr/bin:~/bin:/bin:/usr/local/bin:/usr/local/sbin:/Applications/Zed.app/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/MacGPG2/bin

I have tried to symlink pip into sudo's directories, like so:我试图将 pip 符号链接到 sudo 的目录中,如下所示:

$ sudo ln -s /usr/local/bin/pip /usr/bin/pip , to no avail. $ sudo ln -s /usr/local/bin/pip /usr/bin/pip ,无济于事。

How do I put sudo on the same path ?如何将sudo放在同path

After installing pip, I did安装pip后,我做到了

sudo ln -s /usr/local/bin/pip /usr/bin/pip

and now root can use pip without any PATH modifications.现在 root 可以使用 pip 而无需任何 PATH 修改。 I had trouble making PATH modifications to the root account.我无法对 root 帐户进行 PATH 修改。

根据这里: https : //unix.stackexchange.com/a/83194 ,你应该能够像这样运行这个命令:

sudo env 'PATH=$PATH:/usr/local/bin' pip ...

你试过只做 sudo su 看看它是否有效?

Wherever pip lives, it's not in your path when you sudo.无论 pip 住在哪里,当您使用 sudo 时,它都不在您的路径中。 So try this:所以试试这个:

sudo /usr/local/bin/pip 

If that doesn't work, then say which pip to find out where pip lives, and proceed accordingly.如果这不起作用,那么请说which pip以找出 pip 所在的位置,然后进行相应的操作。

It seems like pip is not installed at system level.似乎 pip 没有安装在系统级别。 You can install pip at system level by running sudo apt-get install python-pip from terminal.After this you can upgrade pip by running sudo pip install --upgrade pip .您可以安装pip通过运行在系统级sudo apt-get install python-pip从terminal.After这个你可以升级pip运行sudo pip install --upgrade pip

如果您使用sudo env "PATH=$PATH" pip install xxx ,您应该能够运行正确的pip可执行文件。

Have you tried你有没有尝试过

sudo -H <your_commands>

? ?

This should preserve your user environment.这应该保护您的用户环境。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM