En utilisant CentOS5, j'ai Apache configuré avec les directives suivantes.Apache utilisant Python 2.4, les scripts Python 2.5 échouant
Alias /pscript/ /var/www/pscript/
<Directory "/var/www/pscript/">
Options +ExecCGI
DirectoryIndex thetest.py
AddHandler cgi-script .py
</Directory>
Quand j'appelle www.domain.com/pscript/ alors mon script python et d'imprimer mon sys.path
, qui affiche python2.4
.
Lorsque j'appelle un script différent qui nécessite Python 2.5, j'obtiens une erreur 500 Internal Server.
regardant mon Apache error_log, je vois la ligne suivante:
[Wed Mar 03 16:58:44 2010] [error] [client 000.000.000.000] Please use Python 2.5 or greater
A partir de la ligne de commande, en cours d'exécution python -V
retours Python 2.5.5
. J'ai installé 2.4 et 2.5.5, mais seulement 2.5.5 devrait être utilisé.
Dans une tentative de remédier au problème d'Apache, j'ai recompilé Python 2.5.5 pour être sûr, et je me suis assuré d'activer la bibliothèque partagée. Ensuite, j'ai recompilé mod_python au cas où cela affectait quelque chose, mais mon sys.path
est toujours python2.4
.
Je me demande, ai-je besoin de recompiler Apache 2.2.3 lui-même? J'ai simplement besoin d'Apache pour utiliser Python 2.5.5.
Merci d'avance.
De la ligne de commande, j'obtiens/usr/local/bin/python, qui est l'installation de Python 2.5.5. – Structure
Est-ce que votre script Python a '#!/Usr/local/bin/python' en haut, ou autre chose? –
C'était tout. Le script appelait/usr/bin/env pour appeler python. Ça doit avoir été le mauvais. J'ai mis à jour mon script à '#!/Usr/local/bin/python' et l'impression de mon' sys.path' montre maintenant qu'il utilise la bonne version. Je vous remercie! – Structure