Apache using Python 2.4, Python 2.5 scripts failing
Using CentOS5, I have Apache configured with the following directives.
Alias /pscript/ /var/www/pscript/
<Directory "/var/www/pscript/">
Options +ExecCGI
DirectoryIndex thetest.py
AddHandler cgi-script .py
</Directory>
When I call www.domain.com/pscript/ then my python script runs and prints out my sys.path
, which is displaying python2.4
.
When I call a different script that requires Python 2.5, I get a 500 Internal Server Error.
Looking at my Apache error_log, I see the following line:
[Wed Mar 03 16:58:44 2010] [error] [client 000.000.000.000] Please use Python 2.5 or greater
From the command line, running开发者_开发技巧 python -V
returns Python 2.5.5
. I have both 2.4 and 2.5.5 installed, but only 2.5.5 should be in use.
In an attempt to remedy the Apache problem I recompiled Python 2.5.5 to be safe, and made sure to enable shared library. Then I recompiled mod_python in case that was affecting something, but my sys.path
is still python2.4
.
I wonder, do I need to recompile Apache 2.2.3 itself? I simply need Apache to utilize Python 2.5.5.
Thanks in advance.
Does the Python script have a first line something like:
#!/usr/bin/python
If so, maybe /usr/bin/python
is Python version 2.4, while running python
directly from the command line is running a different Python executable (version 2.5) from somewhere else in your path. Try:
which python
to see what executable is being run when you run python
from the command line.
精彩评论