如何在 Windows 上为 Python 2.6 和 Apache 2.2 编译 Mod_Python 3.3.1?

如何在 Windows 上为 Python 2.6 和 Apache 2.2 编译 Mod_Python 3.3.1?

除了使用 Visual Studio 的 Build 命令外,我没有编译代码的经验。我希望我们可以创建一个在 Windows 上编译的分步指南mod_python。请尽可能详细地描述。

这是我目前所做的:

  1. 下载并安装蟒蛇2.6.2
  2. 下载并安装阿帕奇 2.2.11
  3. 从以下网址下载 mod_python 的最新源代码SVN 版本

从这里我不知道下一步是什么。我已经下载了 Microsoft Visual C++ 2008 Express Edition。

我在运行 brad 提到的教程时收到了错误消息。

C:\mod_python\dist>build_installer.bat 找不到 C:\mod_python\src*.obj 正在运行 bdist_wininst 正在运行构建 正在运行 build_py 正在创建构建 正在创建 build\lib.win32-2.6 正在创建 build\lib.win32-2.6\mod_python 正在复制 C:\mod_python\lib\python\mod_python\apache.py -> build\lib.win32-2.6\mod _python 正在复制 C:\mod_python\lib\python\mod_python\cache.py -> build\lib.win32-2.6\mod_ python 正在复制 C:\mod_python\lib\python\mod_python\cgihandler.py -> build\lib.win32-2.6 \mod_python 正在复制 C:\mod_python\lib\python\mod_python\Cookie.py -> build\lib.win32-2.6\mod _python 正在复制 C:\mod_python\lib\python\mod_python\importer.py -> build\lib.win32-2.6\m od_python 复制 C:\mod_python\lib\python\mod_python\psp.py -> build\lib.win32-2.6\mod_py thon 复制 C:\mod_python\lib\python\mod_python\publisher.py -> build\lib.win32-2.6\ mod_python 复制 C:\mod_python\lib\python\mod_python\python22.py -> build\lib.win32-2.6\m od_python 复制 C:\mod_python\lib\python\mod_python\Session.py -> build\lib.win32-2.6\mo d_python 复制 C:\mod_python\lib\python\mod_python\testhandler.py -> build\lib.win32-2. 6\mod_python 复制 C:\mod_python\lib\python\mod_python\util.py -> build\lib.win32-2.6\mod_p ython 复制 C:\mod_python\lib\python\mod_python__init__.py -> build\lib.win32-2.6\m od_python 运行 build_ext 构建“mod_python_so”扩展 创建 build\temp.win32-2.6 创建 build\temp.win32-2.6\Release 创建 build\temp.win32-2.6\Release\mod_python 创建 build\temp.win32-2.6\Release\mod_python\src C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W 3 /GS- /DNDEBUG -DWIN32 -DNDEBUG -D_WINDOWS -IC:\mod_python\src\include -Ic:\apa che\include -IC:\Python26\include -IC:\Python26\PC /TcC:\mod_python\src\mod_pyth on.c /Fobuild\temp.win32-2.6\Release\mod_python\src\mod_python.obj mod_python.cc:\apache\include\ap_config.h(25) : 致命错误 C1083: 无法打开包含文件:“apr.h”: 没有此文件或目录错误:命令“”C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe“”失败,退出状态为 2

答案1

如果我是你,我会看看是否使用mod_wsgi可以使用 mod_python 来代替。(通常可以)。mod_python 存在一些问题,并且无人维护。现在没人对它感兴趣了。而 mod_wsgi 则是一种积极维护的现代替代方案。并且有一个二进制文件可供您下载。

是的,这不是对您的问题的直接回答,但我的诚实意见是,如果可能的话,看看 mod_wsgi 比摆弄 mod_python 要好。

答案2

摘自这里

下载目标版本的 apache 源代码,并将其解压到“C:\Apache”

安装 python 后,确保它在你的 PATH 中

SVN trunk 将包含一个用于 mod_python 的 Windows 构建脚本,该脚本可构建两个产品,mod_python 本身和“PSP”(代表“Python Server Pages”)。PSP 构建因“@ARCHFLAGS@”而失败。我不需要 PSP,因此我在构建脚本中禁用了它。

在 mod_python\dist\setup.py.in 中编辑第 171 行,将 ext_modules = [ModPyModule, PSPModule] 改为 ext_modules = [ModPyModule]#, PSPModule]

编译

打开支持 VS2008 的命令提示符。最简单的方法是使用“开始 | 所有程序 | Microsoft Visual Studio 2008 | Visual Studio 工具 | Visual Studio 2008 命令提示符”。(这会将 VS2008 二进制文件放入路径中,并为 Platform SDK 设置 lib/include 环境变量。)

cd 到 mod_python\dist 文件夹。

告诉 mod_python Apache 在哪里:set APACHESRC=C:\Apache

运行 build_installer.bat。

如果成功,将在子文件夹中创建一个 installer.exe。运行该程序安装模块。

相关内容