Python "pip install " 失败并显示 AttributeError:'module'对象没有属性'SSL_ST_INIT'



$ 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 卸载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 时我都会收到与您相同的错误:">模块"对象没有属性"SSL_ST_INIT"。

在上述之后,我的 pip 现在可以工作了,更重要的是我的 ansible 现在可以工作了(它被我之前的更新破坏了(。

不确定它是否适用于您的系统,并且像我一样将东西从带外删除充其量是有风险的,所以作为警告,我会说,您的里程可能会因我笨拙的修复而有所不同,请谨慎使用!

下面的方法对我有用,我使用的是 Ubuntu 20.04,并希望安装Objection用于 iOS 应用程序的运行时操作和动态分析。

简短的背景:

我注意到当我在终端中触发pip3 install objection时,它给了我与您相同的错误,但目录路径略有不同。 就我而言,它与python3.8有关,所以我做了以下事情

溶液:

rm -rf /home/smshrimant/.local/lib/python3.8/site-packages/OpenSSL/
sudo rm -rf /usr/local/lib/python3.8/dist-packages/OpenSSL/

将pyOpenSSL升级到16.2.0可以修复它。

pip uninstall pyOpenSSL
pip install pyOpenSSL==16.2.0

版本兼容性存在问题。

最新更新