【问题标题】:Yet another `bash: pip: command not found`又一个 `bash: pip: command not found`
【发布时间】:2017-04-08 01:04:20
【问题描述】:

很多安装说明告诉你做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。

【问题讨论】:

    标签: python debian pip


    【解决方案1】:

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

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

    该文件基本上通过控制台脚本通过 python 中继它。

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

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

    如果你想要快捷方式,你可以在你的 .bash_aliases 中添加一个条目来别名:

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

    【讨论】:

    • 别名是一个很好的解决方法,谢谢。有一个符号链接/usrbin/pip -> /usr/local/bin/pip,但后者不存在。
    • 你是如何安装你当前的 pip 的?最后要看的地方是$HOME/.local/bin/,但前提是你手动告诉 python 在本地安装 pip。如果您在/usr/bin/pip 有一个符号链接并且目标不存在,我认为在尝试运行 pip 命令而不是说找不到命令时应该出错。 which pip 你会在哪里看到它。
    • 哪个 pip 什么也没说。空行。
    • 那么它不在你的PATH中,所以你没有/usr/bin/pip。这是一个错字还是目录实际上命名为 /usrbin/pip 而不是 /usr/bin/pip ?还可以检查echo $PATH 的输出,以确保 /usr/bin 在其中(但肯定应该在其中)。
    • 这真的很奇怪......无论如何,我最好的猜测是检查你的/root/.local/bin是否存在或你的主要用户的$HOME/.local/bin。与此同时,别名应该对您有用,但有问题的环境对开发人员来说绝不是好事。
    【解决方案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 的 shebang-line 指向正确的解释器,那么 shell 启动一个 python 脚本。一直在学习……

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

    【讨论】:

      【解决方案3】:

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

      python3 -m pip install Pillow
      

      【讨论】:

        【解决方案4】:

        这为我解决了这个问题。

        清除并重新安装 pip。

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

        【讨论】:

          猜你喜欢
          • 2020-09-16
          • 2019-07-07
          • 2015-06-13
          • 2014-07-01
          • 2018-07-18
          • 2010-12-09
          • 1970-01-01
          • 2021-09-18
          • 2016-05-20
          相关资源
          最近更新 更多