У меня есть проект, созданный на 64-разрядной версии Windows 2008 Server с Apache 2.2, mod_wsgi 3.3, django 1.2 и python 2.7 (32-разрядная версия).
Я установил PyCrypto 2.3 (для 32-битного Python 2.7) с помощью установщика, найденного на VoidSpace: http://www.voidspace.org.uk/python/modules.shtml#pycrypto
Когда я пытаюсь импортировать модуль PyCrypto через интерпретатор, он работает отлично. Затем я запускаю сервер Django, используя: manage.py runserver
Это также работает, как и ожидалось, CSS и другие статические изображения не отображаются должным образом, но сайт работает правильно.
При использовании mod_wsgi и Apache вместо этого я получаю сообщение об ошибке импорта и сообщение о том, что DLL не удалось загрузить.
Полная трассировка стека опубликована на pastebin: http://pastebin.com/hav7sqB0.
Я использовал DependencyWalker, чтобы увидеть, какие зависимости могут отсутствовать, и загрузил все библиотеки DLL, которые оказались отсутствующими. Затем они были скопированы как в каталог Windows System32, так и в каталог SysWOW64.
Приложение DependencyWalker теперь показывает только «Отложенные» ошибки зависимостей, но не блокирует функциональность.
Я видел связанную проблему: Почему никакие библиотеки DLL Python, созданные с помощью MSVC, не загружаются с mod_wsgi?
Однако, как я уже говорил ранее, установка с помощью установщиков VoidSpace НЕ решила проблему.
Я попытался скомпилировать с помощью MinGW32, и я получаю сообщение об ошибке, в котором говорится, что он не знает, как компилировать в операционной системе «nt».