Apache使用Python 2.4,Python 2.5脚本失败
我在使用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
时,实际运行的是哪个程序。