5

我想在家里用 python 3.0 做一些实验。我让 python 3.0 工作,我玩过一些脚本,我认为尝试用它制作一个小型网络项目会很有趣。

当我在谷歌上搜索时,结果发现,由于某些原因,mod_python 将无法支持 python 3.0。

我发现的唯一其他选择是mod_wsgi

在mod_wsgi项目的主页上,它说,如果你想使用 python 3.0,你必须从 subversion 存储库获取最新版本。我想知道,是否有预建的 Windows 二进制文件可用?

如果没有这样的二进制文件,那么我将感谢有关使用 VC++ 2008 构建它的任何资源。或者甚至可能是有关使用 VC++ 2008 构建 apache 及其模块的一般资源。谢谢。

哦,我正在使用最新的 Apache 2.2 版本。

编辑:如果我将使用官方的 apache 构建和我自己的 mod_wsgi 构建(我在 apache 上使用了depends.exe,并且似乎它不是用 VC++ 2008 构建的),这会是一个问题吗?

4

4 回答 4

9

现在从 mod_wsgi 站点为 Apache 2.2 和 Python 2.6 和 3.0 提供 Windows 的二进制文件。Python 3.0 仅支持 mod_wsgi 3.0 及更高版本。看:

http://code.google.com/p/modwsgi/downloads/list


2015 年 7 月更新

上面的链接不再有效。而是看到:

于 2009-06-24T12:06:29.883 回答
1

我想自己找到 2.6(首选)或 3.0(好的)Windows 二进制文件,并对此进行了一些研究。

mod_wsgi 的 Windows 构建步骤深埋在 Google Group 中。我认为它们已经过时了;似乎只有一个人做过,并告诉全世界它的效果如何。编译时可能会出现需要补丁的问题。

我认为您不需要构建自己的 Apache,或者如果 VC++ 版本不同很重要(尽管我没有大量证据证明这种观点)。VC++ 版本对于 Python 模块构建非常重要,因为它们严重依赖编译器数据结构的内部结构。我认为 Apache 模块接口更加结构化。

如果您尝试此操作并遇到问题,或者如果您成功构建模块,您可能想要发布到 mod_wsgi 组,请发布它们,因为我们中的一些人非常喜欢它们,但太忙无法自己做: (

于 2009-01-16T07:41:46.393 回答
0

对于它的价值,据我所知,这仍然(截至 2008 年 3 月 2 日)悬而未决。看:

http://groups.google.com/group/modwsgi/browse_thread/thread/93e5e56a04fe37ab/5883f8f6a0fcc945

同样的问题 - windows 缺少 2.6 二进制文件 - 影响 mod_python。

我认为这几乎会让在 Windows 上运行的 Django 用户锁定在 2.5 树上...... :-(

于 2009-03-02T20:28:10.770 回答
0

我能够为 python 2.54 构建 mod_wsgi(我的 python 是 2.5,因此我必须使用 MSVC7)。使用 xampp Apache 2.2.14(它只是一个开发机器,用于测试目的):

指示:

  1. 下载http://adal.chiriliuc.com/temp/win32.zip
  2. 解压例如。c:/tmp/modwsgi/win32
  3. 下载并解压 mod_wsgi http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-3.2.tar.gz&can=2&q=到 c:/tmp/modwsgi
  4. 编辑 c:/tmp/modwsgi/win32/generate.py
    • 必须设置正确的路径
    • 我还注释掉了 python24 的部分
  5. 然后 cd c:/tmp/modwsgi/win32
  6. python 生成.py
  7. 构建.bat

你可以将 mod_wsgi.so 复制到你的 apache

我的设置的 generate.py 的相关部分是:

##### 构建机器配置#####

VS2003_PATH = r"C:\Program Files\Microsoft Visual Studio .NET 2003"

PYTHON_PATH = {
    # 如果不存在特定版本,则放置 None 或注释/删除条目
    #24: r"C:\Python24",
    25: r"C:\dev\Python254",
}

APACHE_PATH = {
    # 如果不存在特定版本,则放置 None 或注释/删除条目
    #20: r"c:\dev\xampp\apache",
    22: r"c:\dev\xampp\apache",
}

##### 构建机器配置#####

APACHE_LIBS = {
    #20: "libhttpd.lib libapr.lib libaprutil.lib",
    22:“libhttpd.lib libapr-1.lib libaprutil-1.lib”,
}
于 2010-06-03T09:18:01.843 回答