Apache使用错误的Python版本,2.4脚本工作,2.5脚本失败

使用CentOS5,我有Apacheconfiguration下面的指令。

Alias /pscript/ /var/www/pscript/ <Directory "/var/www/pscript/"> Options +ExecCGI DirectoryIndex thetest.py AddHandler cgi-script .py </Directory> 

当我打电话www.domain.com/pscript/然后我的python脚本运行并打印出我的sys.path ,这是显示python2.4

当我调用需要Python 2.5的其他脚本时,我得到一个500内部服务器错误。

看看我的Apache error_log,我看到以下行:

 [Wed Mar 03 16:58:44 2010] [error] [client 000.000.000.000] Please use Python 2.5 or greater 

从命令行运行python -V返回Python 2.5.5 。 我安装了2.4和2.5.5,但只有2.5.5应该被使用。

为了弥补Apache的问题,我重新编译了Python 2.5.5以确保安全,并且确保启用共享库。 然后,我重新编译mod_python的情况下,正在影响的东西,但我的sys.path仍然是python2.4

我想知道,我是否需要重新编译Apache 2.2.3本身? 我只需要Apache来利用Python 2.5.5。

编辑:这似乎是我的两个Python安装共享库。 显然2.4版本早于2.5。 这会是一个可能的原因吗?

提前致谢。

apache进程很可能是作为一个不同的用户运行的,并且可能正在为自己的用户select一个不同的系统path。

也许,假设你的apache用户是www-data,运行以下命令将确认它:

 sudo su www-data python -V 

在我的Python脚本/ usr / bin / env被用来调用Python。 这是调用错误的版本。 不知道如何使它调用不同的版本,但改变我的脚本到/ usr / bin / local / python(Python 2.5.5安装)纠正了这个问题。