又一个`bash:pip:命令未找到

时间:2016-11-23 21:19:42

标签: python debian pip

许多安装说明会告诉您pip install [package]。但在我的案例中,它不会起作用,它会说-bash: pip: command not found

python pip install [package]工作正常。同样地,对于easy_install,它本身不会运行,将在使用python启动时运行。

我对 应该如何工作感到困惑。 Pip不是可执行文件,没有名为pip.py的模块,只有<path>\pip\__init__.py。因此,如果pip install [package]要正常工作,bash shell必须了解何时充当python解释器。它没有。

我不相信所有这些安装说明都已关闭。所以我一定错过了什么。什么?

This没有帮助,this也没有,实际上尝试sudo apt-get install python-pip导致我认为是unresolved bug。所以我不得不回到this solution,让我有点工作。 (现在从顶部再次阅读)。

编辑:Python 2.7。不是3.x.

4 个答案:

答案 0 :(得分:3)

大多数软件包(包括Debian软件包)都添加了/usr/bin/pip(或pip3,见下文)。请参阅:https://packages.debian.org/jessie/all/python-pip/filelist

认为通过get-pip.py pip安装程序也会这样做。

该文件基本上通过python通过console_scripts传递它。

检查您的/ usr / bin和/ usr / local / bin是否有点。 (如果您在软件包管理器外部安装了pip,或者没有root / sudo,那么它们可能不存在)。但他们应该......

如果您使用的是python3,则该文件可能名为pip3,因此请检查/ usr / bin和/ usr / local / bin。

如果需要快捷方式,可以将.bash_aliases的条目添加到别名:

alias pip='pip3'
# or
# alias pip='python pip'

答案 1 :(得分:2)

尝试重新安装或修复失败。所以我完全删除了pip并做了我希望的干净安装。第一:

sudo apt-get remove --auto-remove python-pip 

然后在适当的情况下删除pips缓存和现有下载(在我的情况下,我只在虚拟环境中工作pips):

sudo find / -type d -name 'pip*'
sudo rm -rf <dirname>

然后下载官方pip安装程序并安装它:

wget https://bootstrap.pypa.io/get-pip.py 
sudo python get-pip.py  

现在pip freeze运行没有错误。另外:

  • 原因是pip脚本消失了。重新安装后,它再次出现:/usr/local/bin/pip。所以我的想法是:

      

    bash shell必须了解何时充当python解释器。它没有。

    不对。 shell 启动一个python脚本,如果它的shebang-line指向正确的解释器。一直在学习......

  • 许多消息来源向sudo apt-get install python-pip建议。那是错的。 apt-get是目前稳定版本的几个版本。混合版本会导致各种错误。

答案 2 :(得分:1)

使用python3 -m pip install X,其中X是软件包名称,例如如果我要安装Pillow Python Imaging Library,则将使用

python3 -m pip install Pillow

答案 3 :(得分:0)

这为我解决了这个问题。

清除并重新安装pip。

sudo apt-get purge python-pip
sudo apt-get update
sudo apt-get install python-pip