0

环境:Ubuntu 10.04.4 LTS Python 3.4.3

我有一个在 Windows 上完美运行的 python 3.4 Flask HTTPS 服务器。我需要将其转移到现有的 Ubuntu 10.04.4 LTS 服务器。我在那里构建了 python 3.4 没有问题,但是当我运行我的网络服务器时它失败并出现错误:

Traceback (most recent call last):
  File "./server.py", line 3, in <module>
    from app import create_app
  File "/opt/license-server/app/__init__.py", line 10, in <module>
    from config import config
  File "/opt/license-server/config.py", line 9, in <module>
    class Config:
  File "/opt/license-server/config.py", line 25, in Config
    LDAP_TLS_VERSION = ssl.PROTOCOL_TLSv1_2
AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2'

我使用 pyCharm 在 Windows 上进行了一些挖掘,以了解发生了什么,似乎 PROTOCOL_TLSv1_2 是在 _ssl.py 中定义的,我相信它来自 _ssl.pyd。Ubuntu python 安装中既不存在 _ssl.py 也不存在 _ssl.pyd,这让我相信我在编译时缺少某些选项或某些东西,但我在 python 网站上找不到任何关于缺少什么或如何的参考获取 TLS-1.2 的东西。

谁能指出我正确的方向?

4

1 回答 1

0

当您从源代码构建 Python 3.4 时,在构建结束时您会收到一份报告,说明哪些模块未构建。我敢打赌,没有构建 ssl 模块,因为您的 Ubuntu 安装没有安装 SSL 包。尝试:

sudo apt-get install libssl-dev openssl

然后尝试重新构建您的 Python 3.4并查看是否构建了 SSL 模块。

于 2015-11-04T13:32:36.127 回答