easy_install M2Crypto не работает на платформе Windows - PullRequest
4 голосов
/ 22 июня 2011

Я пытаюсь установить 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 ]

8 голосов
/ 27 сентября 2012

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

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

3 голосов
/ 24 июня 2011

Была похожая проблема.После загрузки исходного пакета 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.
...