easy_install M2Crypto не работает на платформе Windows

Я пытаюсь установить M2Crypto на платформе Windows XP. У меня установлены Python, easy_install и SWIG, но при попытке easy_install M2Crypto я получаю следующее:

SWIG\_m2crypto.i(31) : Error: Unable to find 'openssl\opensslv.h'
SWIG\_m2crypto.i(45) : Error: Unable to find 'openssl\safestack.h'
SWIG\_evp.i(12) : Error: Unable to find 'openssl\opensslconf.h'
SWIG\_ec.i(7) : Error: Unable to find 'openssl\opensslconf.h'
error: Setup script exited with error: command 'swig.exe' failed with exit status 1

Я где-то читал, что люди предлагали easy_install openssl-devel, но это просто говорит мне, что пакетов с таким именем не найдено. Возможно, имя чувствительно к регистру (я безуспешно пробовал различные перестановки), или этот совет не относится к Windows?

Я не ищу альтернатив M2Crypto. Я собираю некоторый существующий код, который его использует, поэтому мне нужно, чтобы моя среда разработки могла запускать то, что уже написано.


person Steve Criddle    schedule 22.06.2011    source источник
comment
Я также должен упомянуть, что это Python 2.7.   -  person Steve Criddle    schedule 22.06.2011
comment
Вы также можете загрузить и установить предварительно скомпилированную версию M2Crypto отсюда: chandlerproject.org/Projects/MeTooCrypto.   -  person AlexandruC    schedule 03.06.2015


Ответы (2)


Была аналогичная проблема. Скачав исходный пакет M2Crypto и прочитав файл INSTALL, я обнаружил следующее:

Differences when installing on Windows
--------------------------------------

Before building from source, you need to install OpenSSL's include files,
import libraries and DLLs. By default setup.py assumes that OpenSSL include
files are in ``c:\pkg\openssl\include``, and the import libraries 
in ``c:\pkg\openssl\lib``. As with other platforms, you can specify a different
OpenSSL location with --openssl option to build_ext command.
person Jay    schedule 24.06.2011
comment
Спасибо за ответ. У меня еще не было возможности проверить это, потому что в итоге я настроил среду разработки на компьютере, отличном от Windows. Но попробую, когда будет время. - person Steve Criddle; 28.06.2011

Как сказал Джей в своем ответе, вы должны попытаться собрать его из исходного кода. И я попытался. setup.py не распознает вариант --openssl. Глядя на вывод по умолчанию setup.py, я понял, что место поиска было c:\pkg, а не c:\pkg\openssl. Решение:

  1. Загрузите и установите OpenSSL с Win32 OpenSSL.
  2. Скопируйте папки lib и include в c:\pkg
  3. Убедитесь, что swig.exe доступен в вашем пути
  4. Выполнить easy_install M2Crypto

Работал для меня как шарм.

person Marin    schedule 27.09.2012