【问题标题】:Issues with pip点子问题
【发布时间】:2018-07-19 15:20:41
【问题描述】:

我一直遇到pip 的权限问题。

我无法运行 pip3 -Vpip3.5 -V。它给了我以下错误:

AttributeError: '_NamespacePath' 对象没有属性 'sort'

但是,pip -V 运行罚款。然后pip --user <package-name> 再次给出同样的错误。

我也尝试对 Anaconda 安装做同样的事情,但我遇到了同样的问题。

我是 python 新手,所以我可能做错了什么。

相关详情:

  1. 操作系统:Ubuntu 16.04

  2. Python 版本:2.7、3、3.5、3.6 到 Anaconda

我已经更新了setuptoolspip

为我提供了一些见解但解决方案不起作用的相关链接:

  1. pip GitHub 1

  2. pip GitHub 2

发出 pip3 -V 时出错

Traceback(最近一次调用最后一次):文件 “/usr/lib/python2.7/dist-packages/pip/_vendor/init.py”,第 33 行, 在出售 import(vendored_name, globals(), locals(), level=0) ImportError: No module named 'pip._vendor.pkg_resources'

在处理上述异常的过程中,又发生了一个异常:

Traceback(最近一次调用最后一次):文件“/usr/local/bin/pip3”,行 7、在 从 pip 导入主文件“/usr/lib/python2.7/dist-packages/pip/init.py”,第 13 行,在 从 pip.exceptions 导入 InstallationError、CommandError、PipError 文件“/usr/lib/python2.7/dist-packages/pip/exceptions.py”, 第 6 行,在 从 pip._vendor.six 导入 iteritems 文件“/usr/lib/python2.7/dist-packages/pip/_vendor/init.py”,第 75 行, 在 vendored("pkg_resources") 文件“/usr/lib/python2.7/dist-packages/pip/_vendor/init.py”,第 36 行, 在出售 import(modulename, globals(), locals(), level=0) File "", line 969, in _find_and_load File "",第 958 行,在 _find_and_load_unlocked 文件“”,第 664 行,在 _load_unlocked
文件“”,第 634 行,在 _load_backward_compatible 文件“/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/init.py”, 第 2927 行,在文件中 "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/init.py", 第 2913 行,在 _call_aside 文件中 "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/init.py", 第 2952 行,在 _initialize_master_working_set 文件中 "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/init.py", 第 956 行,在订阅文件中 "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/init.py", 第 2952 行,在文件中 "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/init.py", 第 2515 行,在激活文件中 "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/init.py", 第 2097 行,在 declare_namespace 文件中 "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/init.py", 第 2047 行,在 _handle_ns 文件中 "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/init.py", 第 2066 行,在 _rebuild_mod_path AttributeError: '_NamespacePath' 对象没有“排序”属性

请随时询问更多详情。

【问题讨论】:

  • 注意:我可以运行sudo pip3 -V。但是,文档说我不应该使用sudo,我应该使用pip3 install --user <package>
  • 我无法理解的一件事是为什么pip的所有版本都指向File "/usr/lib/python2.7/dist-packages/pip/_vendor/init.py"。我会想象 Python3 指的是一些 python3 目录而不是 python2.7。另外,我创建了一个本地目录并从源代码编译 python3.6 并安装在本地目录(不是 /usr/local/bin)中。新安装中的pip命令也指向同一个python2.7目录!或许本该如此,但真的很困惑,想知道是不是我的配置有误。
  • 注意:所以我检查了pip3 的内容(在从源代码安装的个人目录中),它有一行 from pip import main。现在,当我运行pip3 -V 时,它指的是来自/usr/lib/python2.7... 的错误。有人告诉我这是一个问题。我想它应该是从本地文件夹安装中获取软件包,并且不知道我系统中安装了什么!
  • 尝试使用python3 -m pip 而不是pip3?这对你有什么好处吗?另外,您的 Anaconda 是否有一个正常运行的 pip? IIRC 他们对其进行了脑叶切除。

标签: python python-3.x pip


【解决方案1】:

检查您的 PYTHONPATH 环境变量。在 Linux 上,您可以使用 echo $PYTHONPATH

原来我的 PYTHONPATH 有几个位置,与我安装的其他包不同的 Python 发行版。我删除了它们,问题得到了解决。环境变量也在我的.bashrc 文件中进行了修改,我删除了这些。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-19
    • 1970-01-01
    • 2015-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多