使用sudo运行pip时出现"pip: command not found"的错误,但是它已经安装了。

sudo easy_install pip
Searching for pip
Best match: pip 1.4.1
Processing pip-1.4.1-py2.7.egg
pip 1.4.1 is already the active version in easy-install.pth
Installing pip script to /home/nyzlfc/.local/bin
Installing pip-2.7 script to /home/nyzlfc/.local/bin
Using /home/nyzlfc/.local/lib/python2.7/site-packages/pip-1.4.1-py2.7.egg
Processing dependencies for pip
Finished processing dependencies for pip

然后当我运行时
sudo pip install -U pyyaml nltk

我明白。
sudo: pip: command not found
9个回答

如果你从Ubuntu的软件仓库安装pip,那么pip将可以使用sudo命令(我在12.04到14.04版本上都是这样使用pip的)。
sudo apt-get install python-pip

6不一定每次安装Python模块都需要使用sudo命令。你可以使用pip install --user ipdb(以此类推)将它们作用于你的用户,然后它们将被安装到/.local/lib/python-ver/目录下,相应的可执行文件则会被放置在/.local/bin/目录中。因此,将~/.local/bin加入到你的$PATH环境变量中,然后你就可以非sudo方式使用pip了。 - lazyPower
好观点,我在处理问题时考虑到了使用sudo命令,即希望通过sudo安装。通常情况下,我的代码会被不同用户在同一系统上使用。 - NGRhodes
2这对我来说不起作用,Ubuntu 20.0.4。 - Conjecture
420.04 使用此命令 sudo apt install python3-pip 安装Python包管理器,然后使用 pip3 install xxx 来安装您的软件包。 - Ng Sek Long

你的pip安装在/home/nyzlfc/.local/bin目录下,这个目录不在sudo的路径中,而且有充分的理由。只需将~/.local/bin添加到你的路径中,并避免使用sudo,因为这是不必要的。

我遇到了同样的问题,原因是我在Debian上安装了python3.2和python3-pip,所以我实际上没有pip可执行文件,也没有pip3可执行文件。我有pip-3.2可执行文件。
因此,我建议你也这样做:
sudo pip

按下Tab键以查看自动完成选项。

1+1 sudo pip 然后按下Tab键以查看自动完成选项...对我来说起到了作用。 - Almir Campos
1你救了我的一天。非常感谢你的答案。 - Dinesh Singh

首先使用echo命令检查您的$PATH变量:
$ echo $PATH

如果缺少/usr/local/bin,请编辑位于您的主目录中的隐藏文件.profile。如果找不到此文件,请改为编辑.bash_profile。
在最后添加以下行作为非常后面的PATH语句:
PATH=$PATH:/usr/local/bin

我总是自己忘记了!

  • 我将pip安装到~/.local/bin
  • 当执行pip install package时,我在/usr/local/share/的某个地方遇到了PermissionDenied错误,友好的解决方案是考虑使用'--user'选项或检查权限。

因此,执行:pip install --user package(除非您需要全局/其他用户也需要此软件包)


不要使用 pip install <软件包名称>

试试 pip3 install <软件包名称>


我遇到了同样的问题(也在尝试安装yaml),并且...
sudo pip3 install yaml

对我来说很有效!

如果你不喜欢安装新的软件包(以确保它不会干扰你当前的Python环境),我建议你在安装时切换到root用户。我发现这样更容易。但是在安装完成后别忘了切换回来。

如果你已经在Python3中安装了,你可以执行以下操作: python3 -m pip install package_name