首页 > 解决方案 > Mac OS 上的 openssl 版本问题

问题描述

最近,我从 Windows 转移到 Mac OS(Mojave)。我正在开发 Django 应用程序。它的运行时 python 版本是 3.4.3,所以我从python.org.

我安装了应用程序的要求。这里开始了这个问题:

首先,pip 没有升级。因此,经过一番研究,我找到了通过以下方式升级它的方法:

卷曲https://bootstrap.pypa.io/get-pip.py | 蟒蛇3

以及使用它的原因。然后我运行服务器。我的一个包裹braintree==3.35.0现在有问题。

我也搜索过这个问题,一些关于这个问题的帖子通过使用brew安装 python 3 来解决它,以避免 openssl 版本问题,因为我当前的 python 3.4.3 有

OpenSSL 0.9.8zh 2016 年 1 月 14 日

根据我对解决方案帖子的理解,通过 brew 安装 python3 会安装 python3 的最新版本,并且它已弃用使用其公式对特定版本安装的支持。还有一些帖子建议升级request包。但这些都没有解决我的问题。

我的问题是,如何升级 python 3.4.3 的 openssl 版本?

每当我尝试使用 brew 安装 openssl 时,我都会得到以下信息:

openssl 1.0.2q 已经安装并且是最新的要重新安装 1.0.2q,运行brew reinstall openssl

仍然是版本:

python3 -c "import ssl; print(ssl.OPENSSL_VERSION)"
OpenSSL 0.9.8zh 14 Jan 2016

关于使用brew reinstall openssl

已使用 SystemRoots 钥匙串中的证书引导 CA 文件。要添加其他证书(例如,系统钥匙串中添加的证书),请将 .pem 文件放在
/usr/local/etc/openssl/certs

并运行 /usr/local/opt/openssl/bin/c_rehash

openssl 仅限于小桶,这意味着它没有符号链接到 /usr/local,因为 Apple 已弃用 OpenSSL 以支持其自己的 TLS 和加密库。

如果您需要在 PATH 运行中首先使用 openssl: echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile

要让编译器找到 openssl,您可能需要设置: export LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include"

以上无法理解。所以需要帮助来理解这个问题。

标签: python-3.xmacosopensslhomebrewbraintree

解决方案


推荐阅读