2015-11-04 10 views
0

Окружающая среда: Ubuntu 10.04.4 LTS Python 3.4.3Python 3.4 отсутствует _ssl.pyd

У меня есть рабочий Питон 3.4 сервер Колба HTTPS работает отлично на Windows. Мне нужно передать это на существующий сервер LTS Ubuntu 10.04.4. Я построил питон 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' 

Я сделал некоторые копаться в Windows, используя PyCharm, чтобы выяснить, что происходит, и кажется, что PROTOCOL_TLSv1_2 определяется в _ssl.py, который, как мне кажется, исходит от _ssl.pyd. Ни _ssl.py, ни _ssl.pyd не существует на установке python Ubuntu, которая заставляет меня поверить, что я комментирую какой-то параметр или что-то, но я не могу найти ссылку на это на веб-сайте python на то, что отсутствует или как получить материал TLS-1.2.

Может ли кто-нибудь указать мне в правильном направлении, пожалуйста?

ответ

0

Когда вы строите свой Python 3.4 из источников, в конце сборки вы получаете сообщение о том, какие модули не были построены. Моя ставка заключается в том, что модуль ssl не был создан, потому что в вашей установке Ubuntu не установлены пакеты SSL. Попробуйте:

sudo apt-get install libssl-dev openssl 

затем попытаться перестроить Python 3.4 и посмотреть, если модуль SSL построен.

+0

Спасибо за предложение. libssl-dev и openssl были уже установлены и обновлены. Чтобы быть уверенным, удалили папку сборки, запустили ./configure, а затем make, чтобы принудительно восстановить цели, и я получил следующий результат: сборка Python завершилась успешно! Необходимые биты для сборки этих дополнительных модулей не найдены: _lzma Чтобы найти нужные биты, зайдите в setup.py в detect_modules() для имени модуля. Что ничего не говорит о OpenSSL и, к сожалению, все еще не работает, я получаю ту же ошибку при запуске сервера. – DelboyJay

+0

Похож на _ssl.cpython-34m.so, который может быть похож на окна pyd, который строится в соответствии с журналами сборки, но он, похоже, не содержит того, что мне нужно. Похоже, я должен просто перейти на сервер Windows и покончить с этим. – DelboyJay