gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 03:53:10 25 4
gpt4 key购买 nike

我正在尝试在 Windows 64 位计算机 (Windows Server 2008 R2) 上部署使用 Python 2.7 编写的 Django 网站。我从 https://www.apachehaus.com/cgi-bin/download.plx 安装了 Apache 的预编译版本(Apache 2.4.16 x64) (由于缺少 Apache Lounge*** 提供的选项),并检查了 Python 2.7 在 64 位上运行并使用 VC9 进行编译。我无法找到 mod_wsgi 的预构建二进制文件(适用于 Windows 64 位并使用 VC9 编译),因此我从 https://github.com/GrahamDumpleton/mod_wsgi/releases/tag/4.4.13 下载了 mod_wsgi 的源代码并按照 https://github.com/GrahamDumpleton/mod_wsgi/blob/develop/win32/README.rst 的指示进行操作,更改 ap24py27-win64-VC9.mk 文件以指向 APACHE_ROOTDIRPYTHON_ROOTDIR 的正确目录,并使用 C++ 2008 64 位命令提示符运行命令nmake -f ap24py27-win64-VC9.mk clean。但是,这给了我错误:

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的安装和配置文档,并在过去的几个小时内搜索了包括SO在内的网络,但没有结果。我在这里做错了什么以及如何解决它?

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

更新:按照 Adelin 的建议,我能够运行 namke -f ap24py27-win64-VC9.mk clean 。但是,当我尝试运行 namke -f ap24py27-win64-VC9.mk 或 namke -f ap24py27-win64-VC9.mk install 时,我收到了几页警告: : 警告 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.

有谁知道为什么会这样以及我应该如何解决它?

最佳答案

我也遇到了同样的错误。

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

要解决此问题,您应按照以下步骤操作:

  1. 找到 psapi.lib(在 C:\ 上运行搜索)
  2. 打开用于编译的 ap24py27-win64-VC9.mk 文件,使用任何文本编辑器
  3. 查看它还包含哪些其他 .mk 文件。最有可能的是common-VC9.mk
  4. 使用任何文本编辑器打开该文件 (common-VC9.mk)
  5. LDFLAGS 下,再追加一行 /LIBPATH:"PATH_FOUND_AT_STEP_1"\
  6. 保存更改并重试

这对我来说也是一件痛苦的事情:)

附注如果您在任何地方都找不到 psapi.lib,那是因为您没有 Windows SDK。我安装了 Windows 7Windows 8 SDK 并最终将 psapi.lib 位于此处 C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64

编辑:为了以某种通用的方式为您提供最新错误的解决方案,每当 nmake 抛出 “No such file” 错误时,该文件的位置在 common-VC9.mk文件。

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

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

如何?与包含 psapi.lib 的路径相同:找到该文件并将相应的路径附加到正确的变量: CPPFLAGSLDFLAGS

关于django - 在 Windows 64 位上使用 Python 2.7 安装 mod_wsgi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32814134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com