Centos 5.5 поставляется с установленным Python 2.4, и мне нужен Python 2.7 для проекта. Я скачал исходный код, запустил, удалил и попытался снова с парой альтернативных сборок:
./configure && make && make install
./configure && make && make altinstall
./configure --prefix=/opt/python2.7 && make && make install
Я приступил к установке setuptools и virtualenv (убедитесь, что ссылаетесь на правильную версию python, никаких символических ссылок или чего-то еще странного). Построил virtualenv для проекта, все правильно настроил для моего сервера, и мой последний шаг - сборка mod_wsgi 3.3 из исходного кода для apache 2.2.1 с использованием
./configure --with-apxs=/path/to/apxs --with-python=/path/to/py2.7 && make && make install
Все три раза, запуск Python, локальное тестирование проекта и т. Д. Работали нормально.
НО после установки mod_wsgi я продолжал получать глупые ошибки импорта (не могу импортировать os, sys, site и т. Д.) С моим приложением wsgi.
Я запустил короткий тестовый скрипт sys.path, описанный на полпути вниз по странице в официальных документах https://code.google.com/p/modwsgi/wiki/InstallationIssues, и я получил следующий вывод в моих лог-файлах:
sys.path = [ '/correct/path/to/virtualenv/py2.7/lib64/python2.4/', ... ]
Начиная с рекомендаций code.google.com/p/modwsgi, я попробовал несколько разных взглядов на мои WSGIPythonHome и WSGIPythonPath ... все варианты
WSGIPythonHome=/path/to/virtualenv/ and ../bin/ and ../bin/python2.7,
WSGIPythonPath=../lib and ../lib/python2.7 and ../lib/python2.7/site-packages.
WSGI и Apache, похоже, не являются проблемами здесь. Это ошибка с тем, как я скомпилировал python2.7, или, возможно, ошибка с тем, как настроены мои easy_install и virtualenv?