我在我的 ubuntu 机器上使用 python 3.6,并在进行一些测试时遇到此错误:
CryptographyDeprecationWarning: Python 3.6 is no longer supported by the Python core team. Therefore, support for it is deprecated in cryptography and will be removed in a future release.
...
from OpenSSL import crypto, SSL
default: File "/usr/lib/python3/dist-packages/OpenSSL/crypto.py", line 1550, in <module>
default: class X509StoreFlags(object):
default: File "/usr/lib/python3/dist-packages/OpenSSL/crypto.py", line 1570, in X509StoreFlags
default: CB_ISSUER_CHECK = _lib.X509_V_FLAG_CB_ISSUER_CHECK
default: AttributeError: module 'lib' has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK'
Run Code Online (Sandbox Code Playgroud)
对错误进行了研究。所以我安装了 python 3.9,然后更新替代方案以将 python 3.9 指定为要使用的主要 python。然后我重新安装并升级 OpenSSL 和加密技术。
sudo pip3 install pyOpenSSL --upgrade
sudo pip3 install cryptography --upgrade
Run Code Online (Sandbox Code Playgroud)
我再次运行测试,仍然面临同样的错误。
我决定检查 python3.9 dist-packages 文件夹 (/usr/local/lib/python3.9/dist-packages/) 并意识到 OpenSSL 和 Cryptography 无法找到。它们位于 /usr/local/lib/python3.6/dist-packages/ 中。这可能是错误持续存在的原因吗?
Leo*_*opd 25
我遇到了这个问题pyOpenSSL==19.0.0并能够解决这个问题
pip3 install pyOpenSSL --upgrade
Run Code Online (Sandbox Code Playgroud)
小智 16
似乎是由于 pip 22.2.2 升级所致。检查是否可以将 pyOpenSSL 升级到 22.0.0 以解决该问题。
如果不起作用请告诉我。
小智 14
我有同样的问题。您需要将 pip 更新到最新版本。
sudo apt remove python3-pip
Run Code Online (Sandbox Code Playgroud)
wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
Run Code Online (Sandbox Code Playgroud)
小智 11
由于这个问题,我的 pip 停止工作(我什至无法获取版本)。
我通过从pypi.org下载问题包并通过easy_install模块更新它解决了这个问题:
python3 -m easy_install pyOpenSSL-22.0.0-py2.py3-none-any.whl
Run Code Online (Sandbox Code Playgroud)
将加密技术升级到版本 38.0.1 后,pip 命令在我的 Linux 系统上完全损坏,我无法以任何方式修复它。我只能通过删除该行来解决该问题
“CB_ISSUER_CHECK = _lib.X509_V_FLAG_CB_ISSUER_CHECK”
来自文件 /usr/lib/python3/dist-packages/OpenSSL/crypto.py
万岁!之后,pip 再次工作,我可以将加密技术降级到与 pyOpenSSL==20.0.1 兼容的版本:
pip 卸载密码学
pip install --升级加密==36.0.2
| 归档时间: |
|
| 查看次数: |
86601 次 |
| 最近记录: |