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. Я собираю некоторый существующий код, который использует его, поэтому мне нужно, чтобы моя среда разработки могла выполнять то, что уже написано.

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.

Как сказал Джей в своем ответе, вы должны попытаться построить его из исходного кода. И я попробовал. 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

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

Другие вопросы по тегам