2012-05-11 2 views
4

Я задал вопрос here относительно установки библиотеки Python M2Crypto в Монетном дворе. На этот вопрос был дан ответ успешно, и мне удалось создать и установить M2Crypto. Однако я не могу использовать его в Python. При попытке импортировать модуль, я получаю следующее сообщение об ошибке:проблемы с установкой M2Crypto на Mint: последующие

>>> import M2Crypto 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/lib/python2.7/dist-packages/M2Crypto/__init__.py", line 22, in <module> 
    import __m2crypto 
ImportError: /usr/local/lib/python2.7/dist-packages/M2Crypto/__m2crypto.so: undefined symbol: SSLv2_method 

Если кто-нибудь знает, как решить эту ошибку, пожалуйста, дайте мне знать.

ответ

2

Похоже, что это ошибка, введенная в M2Crypto 0.21.1, есть patch here, которые исправляют проблему.

Возможно, вы можете попытаться установить старую версию M2Crypto (например, 0.20.1-1.1) или применить патч вручную с помощью команды patch.

+1

Вы можете объяснить, как установить этот патч? там нигде нет объяснений. – ewok

3

Чтобы расширить ответ выше:

Это ошибка в M2Crypto 0.21.1. Это связано с тем, что SSLv2 был удален из OpenSSL на многих платформах на том основании, что он слишком небезопасен, особенно Debian [1] и Ubuntu.

Устранение не обнаружено во время компиляции. Существует широко распространенный патч, который исправляет это. Я включил его в исходный код M2Crypto на Github.

Вы можете использовать пип для установки непосредственно из хранилища, как так:

pip install -e git+https://github.com/Hypernode/m2crypto#egg=M2Crypto 

Для тех, кто хочет проверить (много опубликованных), патч, который исправляет это: b432d36

Edit: переехал в другой местоположение

15

После двух лет проблема в m2crypto0.21.1 все еще существует, поэтому здесь есть примечание для пользователей Ubuntu. Если вы не используете virtualenv, вы можете легко исправить, установив M2Crypto от Ubuntu PPA вместо пип:

sudo pip uninstall m2crypto 
sudo apt-get install python-m2crypto 

Похоже проблема решена в PPA, но не в репо проекта. По крайней мере, это сработало для меня в Ubuntu 12.04.

+1

Это единственный ответ, который сработал для меня – dg123

+0

Слава Богу, ответ, который работает. Это должно быть # 1 – wordsforthewise

+0

Спасибо, он все еще работает, даже на Ubuntu 16.04.2 LTS – SeyfSV

Смежные вопросы