【问题标题】:I screwed up the system version of Python Pip on Ubuntu 12.10我在 Ubuntu 12.10 上搞砸了 Python Pip 的系统版本
【发布时间】:2013-04-20 16:33:27
【问题描述】:

我想在我的主要 Python 安装上更新 pip,特别是为了获取 list 命令。其中还包括列表更新功能。

所以我跑了:

sudo pip install --upgrade pip

安装时一切看起来都不错,但后来我运行 pip 并得到了这个:(如果有帮助,包括安装结束)

Installing pip script to /usr/local/bin
    Installing pip-2.7 script to /usr/local/bin
Successfully installed pip
Cleaning up...
tom@tom-sam:~$ pip list -o
bash: /usr/bin/pip: No such file or directory
tom@tom-sam:~$ pip
bash: /usr/bin/pip: No such file or directory

很明显,我很烦,因为这是我安装的 python 系统。我在这里阅读了一些答案,但无法确定最简单的解决方法。

【问题讨论】:

  • 您是否尝试过重新安装python-pip 软件包?我相信它提供了 /usr/bin/pip 程序。
  • 您尝试使用“pip-2.7”而不是调用“pip”。有时只是符号链接损坏。
  • pip-2.7 有效,我该如何修复,所以它只是与“pip”一起得到这就是我如何修复符号链接?我还在开始获取符号链接:-)
  • unutbu 使用什么命令?
  • 这是 sudo ln -s /usr/local/bin/pip-2.7 /usr/bin/pip

标签: python pip ubuntu-12.10


【解决方案1】:

在对 apt-get 感到满意之前删除和安装。重置 bash 缓存是值得的。

hash -r

Bash 将使用 /usr/bin/pip 的 distrubtion install (apt-get) 缓存 pip 的路径。如果您仍在同一个 shell 会话中,由于缓存的原因,在从 pip 更新 pip 后,您的 shell 仍将查看 /usr/bin/ 而不是 /usr/local/bin/

例如:

$apt-get install python-pip
$which pip
/usr/bin/pip

$pip install -U pip
$which pip
/usr/bin/pip

$hash -r
$which pip
/usr/local/bin/pip

【讨论】:

  • 我按照上述方式运行了每个命令(对我来说:执行 pip install -U pip 后,控制台返回 /usr/local/bin/pip) - 一切正常,我可以再次运行 pip freeze
  • 那太棒了 :o) 终其一生,当我在 PATH 中看到 /usr/local/bin 时,我无法弄清楚为什么 pip 没有被执行
  • 非分发软件/libs/docs 等...通常安装在 /usr/local/xxx 中,而不是 /usr/xxx 中。如果你回显 $PATH,你会看到 /usr/local/bin 列在 /usr/bin 之前。这将确保首先考虑我们在 apt 之外安装的东西。这也是 nodejs 的一个常见问题,因为 exe 被命名为 nodejs 而不是 node。 Npm 想要节点。所以我们通过将 /usr/bin/nodejs 符号链接到 /usr/local/bin/node 来解决问题希望这有助于理解为什么会这样。
  • @etayluz 以 root 用户身份登录,输入“which pip”并验证它是 /usr/local/bin/pip 而不是 /usr/bin/pip。如果它是 /usr/bin/pip,那么根路径变量不在 /usr/bin 之前的 /usr/local/bin/ 中查找。 'hash -r' 只是一个缓存重置,如果你的路径变量实际上是错误的,它不会为你做任何事情。当调用 sudo 而不告诉 bash 保持登录的用户环境处于活动状态时,它将激活 root 用户环境。在运行 sudo 时,有一些方法可以保留您的环境。例如。 stackoverflow.com/questions/257616/sudo-changes-path-why
  • @etayluz 除此之外, hash -r 只会重置登录用户的缓存。解决方案可以很简单,只需以 root 身份登录并输入“hash -r”或添加 /usr/local/bin;到 root 用户路径环境变量的开头(或至少确保它在 /usr/bin 之前)。
【解决方案2】:

我在 linux 上也有同样的消息。

/usr/bin/pip: No such file or directory

但随后检查了哪个 pip 被调用。

$ which pip
/usr/local/bin/pip 

在我的 debian wheezy 机器上,我按照以下方式修复了它......

/usr/local/bin/pip uninstall pip  
apt-get remove python-pip  
apt-get install python-pip  

======================================
这是由于混淆了使用apt-get 安装并使用pip install -U pip 更新。

这些还在 2 个不同的地方安装了库,这给我带来了问题。

/usr/lib/python2.7/dist-packages  
/usr/local/lib/python2.7/dist-packages

【讨论】:

  • 这是 sudo ln -s /usr/local/bin/pip-2.7 /usr/bin/pip
  • 你真的可能想要@boredcoding 的答案而不是这个。
  • 很遗憾,答案不正确除非你先hash -r
  • 无需卸载或重新安装 python-pip,如果环境变量混乱,则按照@dartdog 的建议放置符号链接。由于卸载/重新安装方法将带回旧版本的 pip 9.0 而不是 19.2。
【解决方案3】:

升级 pip 后,我在运行 Mint 18.1 时遇到了同样的问题。我只是通过关闭和打开终端来解决它。

【讨论】:

  • 这实际上也对我有用。我很高兴在去之前阅读了这篇文章并做了一堆卸载/重新安装。
【解决方案4】:

我遇到了和@dartdog 相同的问题,感谢@Martin Mohan 和@warvariuc,我能够完全卸载pip

不幸使用命令

apt-get install python-pip 

在安装旧版本的 pip 之后

/usr/local/bin/pip uninstall pip  
apt-get remove python-pip  

为了安装最新的 pip 版本,我从 https://bootstrap.pypa.io/get-pip.py

获得了 get-pip.py 文件

一旦从命令行在文件目录中执行命令python get-pip.py希望它可以帮助某人

还有一些命令需要 sudo 祝你好运!!

【讨论】:

  • 您可以使用 'sudo pip install -U pip' 从 pip 更新系统范围的 pip包到系统范围的包文件夹中。
  • 对于 Python 2.7,请改用 bootstrap.pypa.io/pip/2.7/get-pip.py
【解决方案5】:

其他线程中的这两个答案帮助了我:

  1. 重新安装 pip: https://stackoverflow.com/a/49997795/9377685

  2. pip 在第 1 步后开始工作,但一直显示错误:

RequestsDependencyWarning: Old version of cryptography ([1, 2, 3]) may cause slowdown. warnings.warn(warning, RequestsDependencyWarning)

这个答案有助于升级密码学和 PyOpenSSL:https://stackoverflow.com/a/51284877/9377685

【讨论】:

    【解决方案6】:

    我在 Python 3.5.2 中使用 pip。然后我在升级到 Python 3.6 的过程中搞砸了,我决定恢复到 3.5。在我删除 pip-3.6 后,pip3 指向/usr/local/bin/pip3,但缺少指向实际 pip 安装目录的符号链接。我用

    修复了它

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-01
      • 2021-08-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多