2

我试图让我的 Apache 服务器运行 mod_wsgi 并收到此错误:

[Fri Jul 19 10:24:05 2013] [warn] mod_wsgi: Compiled for Python/2.7.3.
[Fri Jul 19 10:24:05 2013] [warn] mod_wsgi: Runtime using Python/2.7.4.

这是否通过进入/usr/local/srcPython 所在的位置并运行来解决:

./configure --enable-shared
make install

到目前为止,我所读到的似乎修复需要是 mod_wsgi 必须有权访问所有 Python 库,因此运行该--enable-shared命令将允许它工作。在我的 Apache error.log 中看到上述[warn]行之后,它说它无法在我的DJANGO_SETTINGS_MODULE settings.py文件中查找环境变量。当我替换这些变量时,它会说它可以在其他地方查找其他 Python 包。

我在 Rackspace VPS 上运行 Ubuntu Linux 13.04,使用 Django 1.5.2,在我的本地机器上有 Python 2.7.3,但 Rackspace VPS 的本机 Python 是 2.7.4。我目前使用的 mod_wsgi 版本是 3.4

我找到了这个链接

http://code.google.com/p/modwsgi/wiki/InstallationIssues

在“Python 补丁级别不匹配”部分中,似乎说我必须重建 mod_wsgi,但这听起来有些困难,所以想问一下是否有更简单的修复?

先感谢您,

4

2 回答 2

5

构建 mod_wsgi 并不复杂。

但是,如果您使用您的发行版默认 python,您的发行版通常会打包 mod_wsgi 以便它已经可以工作。

删除你上传到服务器的 mod_wsgi。

在 ubuntu 上尝试:

apt-get install libapache2-mod-wsgi

重新启动apache,然后它应该可以工作。

于 2013-09-19T20:01:08.313 回答
0

如果 mod_wsgi 最初是针对 Python 共享库与静态链接的,则您不必重新构建任何内容。您引用的文档说:

如果两个版本的 Python 最初安装时都使用提供给“配置”的“--enable-shared”选项,这通常不会成为问题。如果使用此选项,则 Python 库将在运行时动态链接,因此将自动使用 Python 版本的升级。

由于您使用的是系统安装的软件包,因此它们应该使用共享库,因此应该没有问题。

您可以按照以下所列的程序进行验证:

于 2013-09-19T21:34:22.333 回答