
У меня есть система AIX 6.1, которую я скомпилировал и установил:
- Apache 2.2.21 (в /usr/local/mercurial)
- Python 2.7.2 (в /usr/local/bin и /usr/local/lib)
- mod_wsgi 3.3 (с исправлением AIX #1, описаннымздесь)
- Mercurial 2.0 (общесистемный)
Однако при запуске Apache я получаю следующее сообщение в error_log:
IOError: invalid Python installation: unable to open /usr/local/bin/lib/python2.7/config/Makefile (No such file or directory)
Видите проблему? bin/lib
не существует./usr/local/lib/python2.7/config/Makefile
делаетХотя существуют. Однако я не могу понять, откуда он берет этот путь. Вот переменные окружения, которые у меня есть:
PYTHONHOME=/usr/local/bin
PYTHONPATH=/usr/local/lib/python2.7
LIBPATH="/usr/local/mercurial/lib:$LIBPATH"
PATH=/usr/local/bin:/usr/local/lib:$PATH
LDR_CNTRL="MAXDATA=0x80000000"
AIXTHREAD_SCOPE=S
AIXTHREAD_MUTEX_DEBUG=OFF
AIXTHREAD_RWLOCK_DEBUG=OFF
AIXTHREAD_COND_DEBUG=OFF
SPINLOOPTIME=1000
YIELDLOOPTIME=8
MALLOCMULTIHEAP=considersize,heaps:8
Я пробовал всевозможные комбинации с , без PYTHONHOME
, PYTHONLIB
и PATH
в envvars. Мой PATH
, если это важно, такой:
/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/opt/ifor/bin:/usr/local/bin:.
решение1
PYTHONHOME
не должно быть необходимости. Также попробуйте установить его на /usr/local
(по умолчанию).
Издокументация:
По умолчанию поиск библиотек выполняется в каталогах prefix/lib/pythonversion и exec_prefix/lib/pythonversion, где prefix и exec_prefix — это каталоги, зависящие от установки, оба по умолчанию — /usr/local.
Если PYTHONHOME установлен на один каталог, его значение заменяет и prefix, и exec_prefix.