我在Windows 2008 Server 64位上设置了一个项目,该项目包含Apache 2.2、mod_wsgi 3.3、django 1.2和python 2.7(32位)。
我使用VoidSpace上的安装程序安装了PyCrypto 2.3(适用于32位python 2.7):http://www.voidspace.org.uk/python/modules.shtml#pycrypto
当我尝试通过解释器导入PyCrypto模块时,它工作得很好。然后我使用:manage.py runserver 运行Django服务器
这也正如预期的那样,CSS和其他静态图像没有正确显示,但网站工作正常。
当使用mod_wsgi和Apache时,我得到了一个导入错误,并注意到DLL加载失败。
完整的堆叠比赛已经发布在pastebin上:http://pastebin.com/hav7sqB0
我使用DependencyWalker来查看可能缺少的依赖项,并下载了所有看起来缺少的DLL。然后将它们复制到System32 windows目录和SysWOW64目录中。
DependencyWalker应用程序现在只显示"延迟"依赖性错误,但没有显示任何阻止功能。
我确实看到了相关问题:为什么没有用MSVC构建的Python DLL用mod_wsgi加载?
然而,正如我之前所说,使用VoidSpace安装程序进行安装并没有解决这个问题。
我尝试过使用MinGW32进行编译,但我收到了一个错误,说它不知道如何在"nt"操作系统上进行编译。
尝试这种向Apache添加新清单的方法。
http://groups.google.com/group/modwsgi/msg/afb025dc949c7051
pyodbc也有同样的问题。
-
被掠夺的资源黑客:http://www.angusj.com/resourcehacker/
-
使用它在python27/python.exe(在树24/1下)中查找并复制对MSVCR90的依赖项:
<dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity> </dependentAssembly>
-
用资源黑客打开pyodbc.pyd并将其粘贴到树中(树下24/2):