0

我刚刚在我的 MacOS Sierra 中将我的 Django 1.10 (Python 3.5) 应用程序升级到了 Django 1.11 (Python 3.6)。

大多数事情仍然有效,但我意识到 SSL 连接不像以前那样工作了。我注意到我的 AWS S3 服务和python manage.py collectstatic. 这些功能未与 AWS 连接/进行身份验证。

这是我第一次处理我的 Django 应用程序的更新,所以我不太确定处理这些问题的正确方法是什么。

我做了一些研究,发现这是来自使用 python 3.6 的 Mac 的预期问题。

有谁知道为此寻找解决方案是否值得麻烦,还是只切换回python 3.5更好?

根据 Python 3.6 ReadMe.rft:

证书验证和 OpenSSL

Python 3.6 的这个变体现在包括它自己的 OpenSSL 1.0.2 私有副本。与以前的版本不同,不再使用已弃用的 Apple 提供的 OpenSSL 库。这也意味着由 Keychain Access 应用程序和安全命令行实用程序管理的系统和用户钥匙串中的信任证书不再被 Python ssl 模块用作默认值。对于 3.6.0,/Applications/Python 3.6 中包含一个示例命令脚本,用于安装来自第三方 certifi 包 ( https://pypi.python.org/pypi/certifi的默认根证书的精选捆绑包)。如果您选择使用 certifi,则应考虑订阅项目的电子邮件更新服务,以便在更新证书包时收到通知。Python 3.6 安装程序附带的捆绑 pip 具有自己的默认证书存储,用于验证下载连接。

4

1 回答 1

0

好的,我意识到我的项目出了什么问题。

我将 django-storages-redux 与 boto 一起使用。现在我必须更新到 boto3 并使用 django-storages 库。

于 2017-05-22T21:34:40.823 回答