В моем error_log появляется следующее:
[Sat Nov 17 23:13:14 2012] [warn] mod_wsgi: Compiled for Python/2.7.3.
[Sat Nov 17 23:13:14 2012] [warn] mod_wsgi: Runtime using Python/2.7.2.
Если я проверю свою переменную $ PATH и даже в / etc / paths, / usr / local / bin (который содержит Python 2.7.3) будет перед / usr / bin (который содержит Python 2.7.2).
Есть ли другой путь, который я упускаю? Как я могу использовать правильную среду выполнения?
Я смог определить причину, по которой использовалась более старая среда выполнения.
Быстрое исправление заключалось в символической ссылке / usr / bin / python (которая изначально была 2.7.2) на / usr / local / bin / python, где более новая версия Python делает / usr / bin / python также 2.7.3. После перезапуска Apache использовалась версия 2.7.3, что означает, что каким-то образом / usr использовался поверх / usr / local. Однако я не хотел использовать это как решение, поэтому удалил символическую ссылку.
После некоторых дополнительных поисков я посмотрел на сценарий apachectl и смог определить, что он загружает переменные среды для Apache из / usr / sbin / envvars.
Я изменил следующую строку файла envvars, чтобы включить / usr / local / lib и перезапустил Apache. Он загружен с Python 2.7.3 (тем самым решая отдельную проблему с _uname, которую я имел с Django, которая вызвана несоответствиями 2.7.2 / 2.7.3)
DYLD_LIBRARY_PATH="/usr/local/lib:/usr/lib:$DYLD_LIBRARY_PATH"