python-3.x - Mac OS 上的 openssl 版本问题
问题描述
最近,我从 Windows 转移到 Mac OS(Mojave)。我正在开发 Django 应用程序。它的运行时 python 版本是 3.4.3,所以我从python.org
.
我安装了应用程序的要求。这里开始了这个问题:
首先,pip 没有升级。因此,经过一番研究,我找到了通过以下方式升级它的方法:
以及使用它的原因。然后我运行服务器。我的一个包裹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 - 如何在pycharm的调试控制台中关闭代码完成?
- node.js - 请求的资源上没有“Access-Control-Allow-Origin”标头 - socket.io
- sql - 我如何将结果限制在一定数量甚至更多?
- firebase - 离子应用程序中未收到 FCM 消息数据
- ios - 如何在 iOS 模拟器上删除 hello world 的东西
- machine-learning - 机器学习噪声过滤
- ios - 删除 viewDidAppear 中的上一个子视图
- python - 将 pandas 数据框中的每日数据转换为每月数据
- ruby-on-rails - 使用 Rails 5.2 和 Turbolinks、Webpacker 和 Angular 6 获取重复页面
- c - 检查正整数 N 是否为大 N 的 2 的幂时的错误