几天前,当我使用pip (1,2或3)安装时,我开始收到以下错误。
*
Traceback (most recent call last): File "/home/c4pta1n/.local/bin/pip", line 7, in <module>
from pip._internal import main File "/home/c4pta1n/.local/lib/python2.7/site-packages/pip/_internal/__init__.py", line 42, in <module>
from pip._internal import cmdoptions File "/home/c4pta1n/.local/lib/python2.7/site-packages/pip/_internal/cmdoptions.py", line 16, in <module>
from pip._internal.index import ( File "/home/c4pta1n/.local/lib/python2.7/site-packages/pip/_internal/index.py", line 15, in <module>
from pip._vendor import html5lib, requests, six File "/home/c4pta1n/.local/lib/python2.7/site-packages/pip/_vendor/requests/__init__.py", line 86, in <module>
from pip._vendor.urllib3.contrib import pyopenssl File "/home/c4pta1n/.local/lib/python2.7/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py", line 46, in <module>
import OpenSSL.SSL File "/usr/local/lib/python2.7/dist-packages/OpenSSL/__init__.py", line 8, in <module>
from OpenSSL import rand, crypto, SSL File "/usr/local/lib/python2.7/dist-packages/OpenSSL/crypto.py", line 13, in <module>
from cryptography.hazmat.primitives.asymmetric import dsa, rsa File "/usr/local/lib/python2.7/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py", line 12, in <module>
@six.add_metaclass(abc.ABCMeta) AttributeError: 'module' object has no attribute 'add_metaclass'*
pip3 install pip --ignore-installed six
Traceback (most recent call last):
File "/usr/local/bin/pip3", line 11, in <module>
load_entry_point('pip==10.0.1', 'console_scripts', 'pip3')()
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 476, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2700, in load_entry_point
return ep.load()
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2318, in load
return self.resolve()
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2324, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/local/lib/python2.7/dist-packages/pip/_internal/__init__.py", line 42, in <module>
from pip._internal import cmdoptions
File "/usr/local/lib/python2.7/dist-packages/pip/_internal/cmdoptions.py", line 16, in <module>
from pip._internal.index import (
File "/usr/local/lib/python2.7/dist-packages/pip/_internal/index.py", line 15, in <module>
from pip._vendor import html5lib, requests, six
File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/__init__.py", line 86, in <module>
from pip._vendor.urllib3.contrib import pyopenssl
File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/urllib3/contrib/pyopenssl.py", line 46, in <module>
import OpenSSL.SSL
File "/usr/local/lib/python2.7/dist-packages/OpenSSL/__init__.py", line 8, in <module>
from OpenSSL import rand, crypto, SSL
File "/usr/local/lib/python2.7/dist-packages/OpenSSL/crypto.py", line 13, in <module>
from cryptography.hazmat.primitives.asymmetric import dsa, rsa
File "/usr/local/lib/python2.7/dist-packages/cryptography/hazmat/primitives/asymmetric/__init__.py", line 12, in <module>
@six.add_metaclass(abc.ABCMeta)
AttributeError: 'module' object has no attribute 'add_metaclass'我一直在研究和试图解决这个问题,我没有能够缩小这个问题。在注意到这个问题之前,我使用标准存储库更新了我的debian系统,没有注意到问题,我还使用pip3安装更新更新了一些pip模块,我相信我更新的模块是替罪羊,我无法使用pip来执行我尝试过的任何命令,甚至是"pip列表“或任何版本的pip到3.6。我已经卸载并重新安装了pip、virtualenv,并尝试手动删除distutils文件夹中的6.add_metaclass-1.0*文件夹。我所尝试过的任何东西都没有引起我所能看到的任何变化,我也无法缩小我所看到的任何问题确实与这个具体问题类似或相关的范围。我希望能找到帮助,进一步缩小这个问题,纠正它,或指向任何可以帮助我的信息的方向。
发布于 2018-07-15 22:33:19
我找到了我的问题的答案。显然,有些linux版本有特定版本的pip和6个版本,它们必须通过发行版包管理器直接安装才能工作。Debian使用pip的方式有一些细微的变化,特别是在更新方面,他们已经将这些更改编码给了他们的包管理器,而不是pip。当我重新编译Python时,我卸载了整个python框架,然后转到源代码url重新组合python,并下载pip和任何其他依赖项。我想既然我是直接从源头安装的,那就好了.如果您正在使用CentOS、Debian、Redhat和其他工具,那么您必须从由您的发行版管理的包管理器中安装pip,以避免在某些地方遇到此错误。
发布于 2018-06-13 00:12:58
6 1.3.0没有add_metaclass。它于2013年发布。真的是时候升级了。
https://stackoverflow.com/questions/50809096
复制相似问题