mod_wsgi在Python2.7.3中编译,运行时在Python2.7.4中编译

mod_wsgi在Python2.7.3中编译,运行时在Python2.7.4中编译,python,django,ubuntu,mod-wsgi,Python,Django,Ubuntu,Mod Wsgi,我试图让我的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. 通过进入Python所在并运行的/usr/local/src中,是否可以修复此问题: ./configure --enable-shared

我试图让我的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.
通过进入Python所在并运行的
/usr/local/src
中,是否可以修复此问题:

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

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

我找到了这个链接

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


提前感谢您,

构建mod_wsgi并不复杂

但是,如果您使用的是发行版默认的python,那么您的发行版通常会打包mod_wsgi,这样它就可以工作了

删除上载到服务器的mod_wsgi

在ubuntu上尝试:

apt-get install libapache2-mod-wsgi

重新启动apache,然后它就会工作。

如果mod_wsgi最初是针对Python共享库vs static链接的,那么您不必重建任何内容。您引用的文档说明:

如果两个版本的 Python最初是使用“--enable shared”选项安装的 提供给“配置”。如果使用此选项,则Python 库将在运行时动态链接,因此升级到 将自动使用Python版本

因为您使用的是系统安装的软件包,所以它们应该使用一个共享库,所以应该没有问题

您可以按照下列步骤进行验证:


您真的应该使用发行版的软件包系统来安装这些东西,而不是手动构建它们。它将确保您从一开始就获得可以一起工作的包,并防止您以后破坏它们(例如,如果您以后更新Apache或Python,它将确保
mod_wsgi
也得到更新)。删除所有mod_wsgi文件有些繁琐,但它完成了您所说的工作。同时,我的初始安装使用了'apt get install libapache2 mod wsgi',它有这个问题,所以这次我使用'wget'从源代码处安装了它,并完成了本文中的步骤:从源代码处构建,这次它成功了。mod_wsgi编译和运行时现在是相同的。谢谢