【问题标题】:AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2' with Python 2.7.6 on UbuntuAttributeError:“模块”对象在 Ubuntu 上使用 Python 2.7.6 没有属性“PROTOCOL_TLSv1_2”
【发布时间】:2017-09-01 17:36:22
【问题描述】:

我遇到了一个与this post on SO 非常相似的问题。我不能在那里使用答案,因为我在 Ubuntu 上,brew 用于 Mac。当我尝试启动我的 Django 服务器时,(python manage.py runsslserver) 我收到以下错误:

AttributeError: 'module' 对象没有属性 'PROTOCOL_TLSv1_2'

我知道我已经为 Python 安装了 OpenSSL,当我在我的 Python 环境中运行 import sslprint ssl.OPENSSL_VERSION 时,我得到:

OpenSSL 1.0.1f 2014 年 1 月 6 日

这里一定有一些非常简单的东西。任何帮助都将不胜感激。

【问题讨论】:

    标签: python django python-2.7 ssl


    【解决方案1】:

    根据您的问题,您使用的是 Python 2.7.6。查看documentation for ssl.PROTOCOL_TLSv1_2 你会看到:

    ssl.PROTOCOL_TLSv1_2
    ...仅适用于 openssl 1.0.1+ 版。
    2.7.9 版中的新功能。

    因此,您至少需要 2.7.9 版本的 Python。要么升级你的系统以获得更新的版本,要么获得一些预先打包的更新的 Python 版本,比如Anaconda

    【讨论】:

    • 我有 python 2.7.6。我将如何更新到2.7.9
    • @ifconfig: 引用我回答的最后一句话:“要么你升级你的系统以获得更新的版本,要么获得一些预先打包的更新的 Python 版本像蟒蛇”.
    • 好的,我找到了。 PROTOCOL_TLSv1_2 自 2.7.13 起已弃用,应替换为 OP_NO_SSLv3
    猜你喜欢
    • 2016-09-15
    • 1970-01-01
    • 1970-01-01
    • 2015-03-09
    • 2013-07-05
    • 2011-10-25
    • 2017-09-02
    • 2014-07-24
    • 2015-11-21
    相关资源
    最近更新 更多