Apache, использующий Python 2.4, Python 2.5 скрипты не работают - PullRequest
1 голос
/ 04 марта 2010

Используя 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 Ответ

3 голосов
/ 04 марта 2010

Имеет ли скрипт Python в первой строке что-то вроде:

#!/usr/bin/python

Если это так, возможно, /usr/bin/python - это версия Python 2.4, а при запуске python непосредственно из командной строки запускается другой исполняемый файл Python (версия 2.5) из другого места вашего пути. Попробуйте:

which python

чтобы увидеть, какой исполняемый файл запускается при запуске python из командной строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...