Django 在Windows 64位上使用Python 2.7安装mod_wsgi

Django 在Windows 64位上使用Python 2.7安装mod_wsgi,django,apache,mod-wsgi,Django,Apache,Mod Wsgi,我正在尝试将我的Django网站部署到windows 64位机器(windows Server 2008 R2)上,该网站是使用Python 2.7编写的。我从安装了Apache的预编译版本(Apache 2.4.16 x64)(由于缺少Apache Lounge***提供的选项),并检查了Python 2.7是否在64位上运行,是否使用VC9编译。我找不到mod_wsgi的预构建二进制文件(适用于Windows 64位并使用VC9编译),因此我从下载了mod_wsgi的源代码,并按照从的方向,

我正在尝试将我的Django网站部署到windows 64位机器(windows Server 2008 R2)上,该网站是使用Python 2.7编写的。我从安装了Apache的预编译版本(Apache 2.4.16 x64)(由于缺少Apache Lounge***提供的选项),并检查了Python 2.7是否在64位上运行,是否使用VC9编译。我找不到mod_wsgi的预构建二进制文件(适用于Windows 64位并使用VC9编译),因此我从下载了mod_wsgi的源代码,并按照从的方向,将
ap24py27-win64-VC9.mk
文件更改为指向
APACHE_ROOTDIR
PYTHON_ROOTDIR
的正确目录,并使用C++ 2008 64位命令提示符运行命令<代码> nFas-F AP24PY27—WI64-VC9MK CURLUTION/CODE >。但是,这给了我一个错误:

wsgi_memory.obj : error LNK2019: unresolved external symbol GetProcessMemoryInfo referenced
  in function getPeakRSS
mod_wsgi.so : fatal error LINK1120: 1 unresolved externals
NMAKE : fatal error U1077: `"...\Visual C++ for Python\9.0\VC\Bin\amd64\c1.EXE"` :
  return code `0x2`
Stop.
我已经多次阅读了mod_wsgi的安装和配置文档,在过去的几个小时里,我在网上搜索了很多内容,但都没有找到。我在这里做错了什么?我该如何修复它

***我知道安装mod_wsgi的官方文件警告不要使用Apache Lounge以外其他来源的二进制文件,但我似乎无法从该站点找到正确的编译版本(适用于VC9和Windows 64位)。这可能是个问题吗?如果是,我该如何解决

更新:按照阿德林的建议,我能够运行
namke-f ap24py27-win64-VC9.mk clean
。但是,当我尝试运行
namke-f ap24py27-win64-VC9.mk
namke-f ap24py27-win64-VC9.mk install
时,我会收到几页警告,上面写着:
warning C4820:“…”:“…”在数据成员“…”
之后添加字节填充,直到编译器退出

fatal error C1083: Cannot open include file: 'Python.h': No such file or directory
...\mod_wsgi-4.4.13\src\server\wsgi_memory.c<124> : warning C4711: function 'getCurrentRSS' selected for automatic inline expansion
NMAKE: fatal error U1077: '"C:\...\Microsoft\Visual C++ for Python\9.0\VC\Bin\amd64\c1.EXE"' : return code '0x2'
Stop.
致命错误C1083:无法打开包含文件:“Python.h”:没有这样的文件或目录
…\mod_wsgi-4.4.13\src\server\wsgi_memory.c:警告C4711:为自动内联扩展选择了函数“getCurrentRSS”
nGuff:致命错误U1077:“C:\…\微软PysVisualC++用于Python \\\\VC\bin \AMD64 \ C1.exe”:“返回代码”0x2’
停止
有人知道为什么会这样吗?我应该如何着手解决它?

我也有同样的错误

问题是
cl.exe
找不到
psapi.lib
。此库包括
wsgi_memory.c
-
GetProcessMemoryInfo
中引用的函数

要解决此问题,应遵循以下步骤:

  • 找到
    psapi.lib
    (在
    C:\
    上运行搜索)
  • 打开用于编译的
    ap24py27-win64-VC9.mk
    文件,使用 任何文本编辑器
  • 查看它包含的其他
    .mk
    文件。很可能
    common-VC9.mk
  • 用任何文本编辑器打开该文件(
    common-VC9.mk
  • LDFLAGS
    下,添加另一行
    /LIBPATH:“在步骤1找到路径”\
  • 保存更改并重试
  • 这对我来说也是一种痛苦:)

    另外,如果你在任何地方都找不到
    psapi.lib
    ,那是因为你没有Windows SDK。我安装了和SDK,并最终将
    psapi.lib
    放在这里
    C:\ProgramFiles(x86)\Windows Kits\8.1\lib\winv6.3\um\x64

    编辑: 为了以一种比较一般的方式为您的最新错误提供解决方案,每当
    nmake
    抛出
    “无此类文件”
    错误时,文件的位置未在
    common-VC9.mk
    文件中正确引用

    有两种类型的文件
    nmake
    将查找:
    .h
    .lib

    如果未找到
    .h
    ,则应在
    common-VC9.mk
    文件的
    CPPFLAGS
    变量下正确引用相应的路径。 如果未找到
    .lib
    ,则需要相应地更新
    LDFLAGS
    路径


    怎么做?与包含psapi.lib路径的方法相同:找到文件并将相应路径附加到适当的变量:
    CPPFLAGS
    LDFLAGS

    谢谢!我能得到
    nmake。。。清理
    以按照您的建议运行,但现在当我尝试运行
    nmake…
    nmake…,编译器会抛出错误。。。安装
    。我已经更新了问题以反映这些新错误-您对这个问题有什么见解吗?好的,这是有道理的。当我在
    cppfagas
    中将路径添加到
    python.h
    中时,将
    LIBPATH
    添加到
    .h
    文件中的等价物是什么?专门用于
    python.h
    ,因为我看到您有python2.7,它应该是一行新的“/I”C:\Python27\include”`(假设您在该目录中安装了python)。