【发布时间】:2018-07-19 15:20:41
【问题描述】:
我一直遇到pip 的权限问题。
我无法运行 pip3 -V 或 pip3.5 -V。它给了我以下错误:
AttributeError: '_NamespacePath' 对象没有属性 'sort'
但是,pip -V 运行罚款。然后pip --user <package-name> 再次给出同样的错误。
我也尝试对 Anaconda 安装做同样的事情,但我遇到了同样的问题。
我是 python 新手,所以我可能做错了什么。
相关详情:
操作系统:Ubuntu 16.04
Python 版本:2.7、3、3.5、3.6 到 Anaconda
我已经更新了setuptools 和pip。
为我提供了一些见解但解决方案不起作用的相关链接:
发出 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