AttributeError: 'module' object has no attribute 'PROTOCOL_SSLv3'
Dec 22, 2016 18:06 · 152 words · 1 minute read
После обновления операционной системы с Debian Wheezy до Debian Jessie на серверах не запускается newrelic_plugin_agent
. Давайте разберемся!
При старте демона появляется следующая ошибка:
AttributeError: 'module' object has no attribute 'PROTOCOL_SSLv3'
Как выяснилось, в новом Debian пакет OpenSSL собирается без поддержки SSLv3 (подробнее здесь), который нужен для нормальной работы библиотеки urllib3
.
Проблема была известна уже давно, и была устранена этим коммитом для urllib3
.
Конкретно в нашем случае данная библиотека используется как часть питоновского модуля requests
, установленного с помощью pip
. Данный модуль необходимо обновить до версии 2.6, которая уже включает в себя необходимый патч, позволяющий работать с SSLv3. Делаем это так:
easy_install --upgrade pip
pip install requests==2.6.0
Проверим установленную версию модуля requests
:
pip show requests
Name: requests
Version: 2.6.0
Summary: Python HTTP for Humans.
Home-page: http://python-requests.org
Author: Kenneth Reitz
Author-email: me@kennethreitz.com
License: Apache 2.0
Location: /usr/local/lib/python2.7/dist-packages
Пробуем запустить newrelic_plugin_agent
после проделанных действий:
/etc/init.d/newrelic_plugin_agent start
[ ok ] Starting newrelic_plugin_agent (via systemctl): newrelic_plugin_agent.service.
Все работает!