【问题标题】:Python "pip install " is failing with AttributeError: 'module' object has no attribute 'SSL_ST_INIT'Python“pip install”因 AttributeError 而失败:“模块”对象没有属性“SSL_ST_INIT”
【发布时间】:2017-12-24 14:21:54
【问题描述】:

$ 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,现在我看到了同样的错误。我在 Ubuntu 16.04.02LTS Python 2.7 上。
  • 请出示你的PYTHONPATH变量echo $PYTHONPATH

标签: python python-2.7 ubuntu pyopenssl


【解决方案1】:

我做了以下似乎修复了错误,不确定它是否是正确的方法,但它确实修复了我机器上的错误:

我先备份了下面的目录,建议你也备份一下。

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' object has no attribute 'SSL_ST_INIT'

在完成上述操作之后,我的 pip 现在可以工作了,更重要的是,我的 ansible 现在可以工作了(我之前的更新已经破坏了它)。

不确定它是否可以在您的系统上运行,并且像我一样从带外删除东西充其量是有风险的,所以作为警告,我想说,您的里程可能会因我的 kludgy 修复而有所不同,请小心!

【讨论】:

  • 为我工作!你的解决方案解决了同样的问题
  • 谢谢,它有效!对于 Mac,位置是 ~/Library/Python/2.7/lib/python/site-packages
  • 如果您在 Mac 上运行 Homebrew Python,要删除的路径是 /usr/local/lib/python2.7/dist-packages/OpenSSL/usr/local/lib/python2.7/dist-package/pyOpenSSL-*
  • 如果你在 mac 上使用 miniconda/conda env 那么下面的路径。 ~/miniconda3_path/lib/python3.6/site-packages/OpenSSL* ~/miniconda3_path/lib/python3.6/site-packages/pyOpen*
【解决方案2】:

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

pip uninstall pyOpenSSL
pip install pyOpenSSL==16.2.0

版本兼容性存在问题。

【讨论】:

  • 正如 cmets 在其他答案中提到的那样,这不起作用,因为任何pip 的调用都会触发错误,即使是uninstall
【解决方案3】:

我也遇到了这个问题。建议运行 pip 的解决方案不起作用,因为 pip 也坏了!我发现这为我解决了这个问题:

sudo python -m easy_install --upgrade pyOpenSSL

此安装版本 17.3.0 是对(xenial 上的股票 python-openssl)版本?0.15.1?的升级。请注意版本的巨大变化,可能是他们在以后的版本中删除了前导 0.。

不管怎样,在那之后,pip 和 ansible 又开始工作了。

【讨论】:

  • 谢谢,也为我工作。这个解决方案看起来比手动删除/usr/lib/python2.7/dist-packages/OpenSSL 正确得多,对我来说。
  • 或者python3使用:sudo easy_install3 --upgrade pyOpenSSL
  • 非常有用...!
  • 也在 Mint 19.3 上工作过。
【解决方案4】:

以下方法对我有用,我使用的是 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/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-02
    • 2015-05-16
    • 2020-09-02
    • 2018-07-07
    • 1970-01-01
    • 2015-03-09
    • 2013-07-05
    • 2021-08-29
    相关资源
    最近更新 更多