Apache使用Python 2.4,Python 2.5脚本失败

时间:2010-03-04 03:55:45

标签: python apache

使用CentOS5,我使用以下指令配置Apache。

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。

提前致谢。

1 个答案:

答案 0 :(得分:3)

Python脚本的第一行是否类似:

#!/usr/bin/python

如果是这样,也许/usr/bin/python是Python 2.4版,而直接从命令行运行python则是从路径中的其他位置运行不同的Python可执行文件(版本2.5)。尝试:

which python

从命令行运行python时查看正在运行的可执行文件。