升级到 ubuntu-16.10 后 Pip 不起作用

Posted

技术标签:

【中文标题】升级到 ubuntu-16.10 后 Pip 不起作用【英文标题】:Pip does not work after upgrade to ubuntu-16.10 【发布时间】:2017-06-30 07:14:07 【问题描述】:

与 pip 一起运行命令会出现以下错误。甚至命令 pip -V 也会产生以下错误。 我读到错误是由于 setuptools 版本 31.0.0 引起的,它应该低于 28.0.0。但是我的 setuptools 的版本是 26.1.1,它仍然给出同样的错误。

回溯(最近一次通话最后): 文件“/usr/local/bin/pip”,第 7 行,在 从点进口主要 文件“/usr/local/lib/python3.5/dist-packages/pip/__init__.py”,第 26 行,在 从 pip.utils 导入 get_installed_distributions,get_prog 文件“/usr/local/lib/python3.5/dist-packages/pip/utils/__init__.py”,第 27 行,在 从 pip._vendor 导入 pkg_resources 文件“/usr/local/lib/python3.5/dist-packages/pip/_vendor/pkg_resources/__init__.py”,第 3018 行,在 @_call_aside _call_aside 中的文件“/usr/local/lib/python3.5/dist-packages/pip/_vendor/pkg_resources/__init__.py”,第 3004 行 f(*args, **kwargs) _initialize_master_working_set 中的文件“/usr/local/lib/python3.5/dist-packages/pip/_vendor/pkg_resources/__init__.py”,第 3046 行 dist.activate(替换=假) 激活中的文件“/usr/local/lib/python3.5/dist-packages/pip/_vendor/pkg_resources/__init__.py”,第 2578 行 声明命名空间(pkg) 文件“/usr/local/lib/python3.5/dist-packages/pip/_vendor/pkg_resources/__init__.py”,第 2152 行,在 declare_namespace _handle_ns(packageName, path_item) _handle_ns 中的文件“/usr/local/lib/python3.5/dist-packages/pip/_vendor/pkg_resources/__init__.py”,第 2092 行 _rebuild_mod_path(路径,包名,模块) _rebuild_mod_path 中的文件“/usr/local/lib/python3.5/dist-packages/pip/_vendor/pkg_resources/__init__.py”,第 2121 行 orig_path.sort(key=position_in_sys_path) AttributeError:“_NamespacePath”对象没有属性“排序”

【问题讨论】:

来自 pip GitHub 问题跟踪器上的 this comment,可能有比您在此处显示的更多的回溯。你能告诉我们这是否是所有的追溯,还是在它之前还有更多?后者可能是相关的,因为 GitHub 评论中的那个显示部分回溯起源于 /usr/lib,而在那里,就像这里一样,另一部分在 /usr/local/lib;这不应该真的发生。 这是控制台上显示的唯一回溯。 【参考方案1】:

升级您的设置工具: wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python3

通常 sudo 与 pip 结合被认为是有害的,当您的系统尚未损坏时避免这样做。

【讨论】:

pip 不起作用,尽管我已将 setuptools 升级到 33.1.1【参考方案2】:

我能找到的唯一解决方案是重新安装pip。在终端上运行这些命令

wget https://bootstrap.pypa.io/get-pip.py sudo -H python get-pip.py --prefix=/usr/local/

但是,这仅适用于pip,不适用于pip3

【讨论】:

【参考方案3】:

请参考https://***.com/a/48126778/7596504。这个问题可以通过修改你的/usr/local/lib/python3.5/dist-packages/pip/_vendor/pkg_resources/__init__.py来解决。

【讨论】:

以上是关于升级到 ubuntu-16.10 后 Pip 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

如何从Ubuntu 16.10升级到Ubuntu 17.04

安装Ubuntu16.10后要做哪些事

如何从早期版本升级到Ubuntu 17.04

Ubuntu16.10安装包跳过依赖

python - 升级后 pip 不起作用

解决双系统(Window10+Ubuntu16.10)下ubuntu安装git时提示软件包git没有可安装候选问题