【问题标题】:Python and 'print ssl.OPENSSL_VERSION' prints wrong versionPython 和 'print ssl.OPENSSL_VERSION' 打印错误的版本
【发布时间】:2017-07-14 18:46:00
【问题描述】:

我在上一期与 Steffen Ullrich 合作,现在它正在演变成新一期。因此,接受他的建议(谢谢 Steffen),我发布了一个单独的问题:

$ python -c 'import ssl; print ssl.OPENSSL_VERSION'
OpenSSL 0.9.8zh 14 Jan 2016

我已经尝试了几乎所有的事情(所以感觉)来修复它。

$ brew install openssl
Warning: openssl 1.0.21 is already installed

所以我两者都有,但它只读取/链接到 OpenSSL 0.9.8zh?

我是 Mac 上 Python/Homebrew 的新手。

【问题讨论】:

标签: python macos homebrew pyopenssl


【解决方案1】:

您还需要安装链接到该 Homebrew OpenSSL 库的 Python,尝试:

brew install python --with-brewed-openssl

请注意,它不会取代您的“本机”Python,您必须重新链接它。默认情况下,它将安装在/usr/local/Cellar/python/<version> 中,而version 可能会随时间而变化。如果您愿意,可以将 python 二进制文件重新链接为:

sudo mv /usr/bin/python /usr/bin/python.old 2>/dev/null
sudo ln -s -f /usr/local/Cellar/python/<version>/bin/python /usr/bin/python

但我建议您创建一个本地链接,以便您可以同时使用两个 python 版本:

sudo mv /usr/local/bin/python /usr/local/bin/python.old 2>/dev/null
sudo ln -s -f /usr/local/Cellar/python/<version>/bin/python /usr/local/bin/python

(当然,将&lt;version&gt; 替换为尝试上述操作时安装的任何版本的 Python Homebrew)

然后当你需要这个“升级”的 Python 时,只需使用 /usr/local/bin/python script.py 启动你的脚本或使用 /usr/local/bin/python 作为它们的 shebang。

【讨论】:

  • $ brew install python --with-brewed-openssl Warning: python 2.7.13 is already installed 接下来是: $ sudo mv /usr/local/bin/python /usr/local/bin/python.old 2&gt;/dev/null $ sudo ln -s -f /usr/local/Cellar/python/2.7.13/bin/python /usr/local/bin/python 结果: $ python -c 'import ssl; print ssl.OPENSSL_VERSION' OpenSSL 0.9.8zh 14 Jan 2016 我是缺少什么?
  • 是的,您调用的是旧的内置 python 二进制文件 - 尝试:/usr/local/bin/python -c 'import ssl; print ssl.OPENSSL_VERSION'
  • $ /usr/local/bin/python -c 'import ssl; print ssl.OPENSSL_VERSION' OpenSSL 1.0.2l 2017 年 5 月 25 日 我想您可能刚刚解决了我发布的问题的两个问题...非常感谢。
【解决方案2】:

如果其他人有同样的问题,我想提供原始链接(问题的前半部分),以便其他人可以全面了解。

macOS Sierra/Python2.7.13 URLError: <urlopen error EOF occurred in violation of protocol (_ssl.c:661)>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-20
    • 1970-01-01
    • 2018-08-27
    • 2014-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多