问题描述
$ sudo pip install –upgrade pyOpenSSL
Traceback (most recent call last):
File "/usr/local/bin/pip", line 9, in <module>
load_entry_point('pip==8.1.1', 'console_scripts', 'pip')()
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 558,
in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line
2682, in load_entry_point
return ep.load()
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line
2355, in load
return self.resolve()
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line
2361, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/local/lib/python2.7/dist-packages/pip-8.1.1-
py2.7.egg/pip/__init__.py", line 16, in <module>
from pip.vcs import git, mercurial, subversion, bazaar # noqa
File "/usr/local/lib/python2.7/dist-packages/pip-8.1.1-
py2.7.egg/pip/vcs/mercurial.py", line 9, in <module>
from pip.download import path_to_url
File "/usr/local/lib/python2.7/dist-packages/pip-8.1.1-
py2.7.egg/pip/download.py", line 39, in <module>
from pip._vendor import requests, six
File "/usr/local/lib/python2.7/dist-packages/pip-8.1.1-
py2.7.egg/pip/_vendor/requests/__init__.py", line 53, in <module>
from .packages.urllib3.contrib import pyopenssl
File "/usr/local/lib/python2.7/dist-packages/pip-8.1.1-
py2.7.egg/pip/_vendor/requests/packages/urllib3/contrib/pyopenssl.py",
line
54, in <module>
import OpenSSL.SSL
File "/usr/lib/python2.7/dist-packages/OpenSSL/__init__.py", line 8, in
<module>
from OpenSSL import rand, crypto, SSL
File "/usr/lib/python2.7/dist-packages/OpenSSL/SSL.py", line 118, in
<module>
SSL_ST_INIT = _lib.SSL_ST_INIT
AttributeError: 'module' object has no attribute 'SSL_ST_INIT'
我无法卸载“pip uninstall pyopenssl”
使用pip让我犯这个错误。
提前致谢。
额外细节:
我在用
经销商ID:Ubuntu描述:Ubuntu 15.10发布:15.10代号:狡猾
最佳解决思路
我也遇到过这个问题。建议运行pip的解决方案不起作用,因为pip也被破坏了!我发现这解决了我:
sudo python -m easy_install --upgrade pyOpenSSL
这个安装版本17.3.0是对xenial版本(库存python-openssl)的升级版本?0.15.1?。请注意版本的巨大变化,它可能会在以后的版本中降低前导0.
无论如何,在那之后,pip和ansible再次开始工作。
次佳解决思路
我做了以下似乎修复错误,不确定它是否是正确的方法,但它确实修复了我的机器上的错误:
我首先备份了以下目录,建议你这样做。
rm -rf /usr/lib/python2.7/dist-packages/OpenSSL
rm -rf /usr/lib/python2.7/dist-packages/pyOpenSSL-0.15.1.egg-info
sudo pip install pyopenssl
我无法卸载它,因为每次运行pip我都会遇到同样的错误:’module’对象没有属性’SSL_ST_INIT’。
在上面我的点子现在工作,更重要的是我的ansible现在可以工作(这是我以前的更新打破了)。
不确定它是否适用于你的系统,并且像我一样去掉带外的东西,充其量是冒险的,所以作为警告,我会说,你的里程可能因我的kludgy修复而有所不同,请谨慎使用!