mod_wsgi如何能够针对Python 2.7.3进行编译,而使用2.7.2运行时呢?

以下是我的error_log中显示的内容:

[Sat Nov 17 23:13:14 2012] [warn] mod_wsgi: Compiled for Python/2.7.3. [Sat Nov 17 23:13:14 2012] [warn] mod_wsgi: Runtime using Python/2.7.2. 

如果我检查我的$ PATHvariables,甚至在/ etc /path中,/ usr / local / bin(其中包含Python 2.7.3)在/ usr / bin(包含Python 2.7.2)之前。

有没有其他的途径我错过了? 我怎样才能得到正确的运行时使用?

我能够确定使用较旧运行时的原因。

快速修复是将/ usr / bin / python(最初是2.7.2)的symlink添加到/ usr / local / bin / python中,而更新的Python版本也使得/ usr / bin / python也是2.7.3。 在重新启动Apache之后,使用了2.7.3,意思是/ usr被/ usr / local使用。 但是,我不想坚持这个解决scheme,所以我删除了符号链接。

在进一步挖掘之后,我查看了apachectl脚本,并确定它正在从/ usr / sbin / envvars中为Apache加载环境variables

我修改了envvars文件的下面一行来包含/ usr / local / lib并重新启动了Apache。 它加载了Python 2.7.3(从而解决了_uname与Django的2.7.2 / 2.7.3差异导致的问题)

 DYLD_LIBRARY_PATH="/usr/local/lib:/usr/lib:$DYLD_LIBRARY_PATH"