PyCrypto未在Windows服务器2008上加载mod_wsgi



我在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也有同样的问题。

  1. 被掠夺的资源黑客:http://www.angusj.com/resourcehacker/

  2. 使用它在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>
    
  3. 用资源黑客打开pyodbc.pyd并将其粘贴到树中(树下24/2):

最新更新