亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

sudo pip list:OpenSSL 問題

sudo pip list:OpenSSL 問題

搖曳的薔薇 2023-07-27 09:44:59
如果我嘗試以下命令之一:sudo pip listsudo pip uninstall <something>我總是收到此錯誤:/usr/local/lib/python2.7/dist-packages/cryptography/hazmat/primitives/constant_time.py:26: CryptographyDeprecationWarning: Support for your Python version is deprecated. The next version of cryptography will remove support. Please upgrade to a release (2.7.7+) that supports hmac.compare_digest as soon as possible.  utils.PersistentlyDeprecated2018,Traceback (most recent call last):  File "/usr/local/bin/pip", line 9, in <module>    load_entry_point('pip==20.0.2', 'console_scripts', 'pip')()  File "/usr/local/lib/python2.7/dist-packages/pip/_internal/cli/main.py", line 73, in main    command = create_command(cmd_name, isolated=("--isolated" in cmd_args))  File "/usr/local/lib/python2.7/dist-packages/pip/_internal/commands/__init__.py", line 96, in create_command    module = importlib.import_module(module_path)  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module    __import__(name)  File "/usr/local/lib/python2.7/dist-packages/pip/_internal/commands/list.py", line 13, in <module>    from pip._internal.cli.req_command import IndexGroupCommand  File "/usr/local/lib/python2.7/dist-packages/pip/_internal/cli/req_command.py", line 15, in <module>    from pip._internal.index.package_finder import PackageFinder  File "/usr/local/lib/python2.7/dist-packages/pip/_internal/index/package_finder.py", line 21, in <module>    from pip._internal.index.collector import parse_links這個錯誤很明顯,我知道!不清楚的是:為什么我不能只列出我已安裝的軟件包?OpenSSL 錯誤...帶有 pip 列表?!OpenSSL 與已安裝軟件包列表有什么關系?!我只想看看我的服務器上安裝了什么為什么我不能直接卸載軟件包?再說一遍,OpenSSL 與它有什么關系?我有一個與出現此問題的服務器相同的服務器(Debian 7,相同的 OpenSSL 版本,相同的 Python 版本),但在另一臺服務器上一切正常,沒有問題(甚至沒有警告)
查看完整描述

1 回答

?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

Python 打包很“有趣”。讓我們去冒險吧!

pipvendors?urllib3,如果 Python < 2.7.9 上存在pyOpenSSL,它會自動使用 pyOpenSSL 。這樣做是因為 Python < 2.7.9 不支持TLS 中的SNI ;一個重要的現代特征。pyOpenSSL,反過來又依賴于cryptography,它在 2.9 版本中放棄了 1.0.1 支持。因此,當您嘗試在其中執行任何操作時,pip都會觸發導致此錯誤的導入序列。

您在另一臺幾乎相同的服務器上沒有看到此問題的(可能)原因是該服務器cryptography還附帶靜態鏈接較新 OpenSSL 的二進制輪。如果您使用的是 pip 8.x 或更高版本(您可能位于正常工作的服務器上,并且可能不在損壞的服務器上),它將獲取與 OpenSSL 1.1.1-latest 鏈接的輪子(前提是您使用的是x86_64。i686 輪子在 2.7 中被刪除)。

鑒于您看到的錯誤消息,幾乎可以肯定您正在損壞的服務器上運行加密 2.9.x。該版本支持環境變量解決方法。所以如果你CRYPTOGRAPHY_ALLOW_OPENSSL_101=1 pip list這樣做的話應該會起作用。

如果有效,那么您應該立即升級cryptography。由于您現在在此服務器上運行 pip 20.x,因此該命令CRYPTOGRAPHY_ALLOW_OPENSSL_101=1 pip install -U cryptography應從輪子安裝版本 3.1(假設您在 x86_64 上運行)。

如果您不是在 x86_64 上運行,那么您有兩個選擇(不涉及升級您的發行版,您應該這樣做,因為 wheezy 早已不再支持?。?/p>

  1. 總是通過CRYPTOGRAPHY_ALLOW_OPENSSL_101并且不再升級cryptography(2.9.2是最后一個甚至秘密支持1.0.1的版本)

  2. 降級cryptography到2.8,也不再升級。


查看完整回答
反對 回復 2023-07-27
  • 1 回答
  • 0 關注
  • 110 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號