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

1 投票
1 回答
704 浏览
提问于 2025-04-15 19:59

我在使用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错误日志,我发现了以下这一行:

[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 个回答

3

这个Python脚本的第一行是不是像这样:

#!/usr/bin/python

如果是的话,可能是因为 /usr/bin/python 指向的是Python 2.4版本,而你直接在命令行中输入 python 时,实际上运行的是另一个Python程序(版本2.5),这个程序在你的路径中其他地方。你可以试试:

which python

看看当你在命令行中输入 python 时,实际运行的是哪个程序。

撰写回答