Python と mod_wsgi パスの問題

Python と mod_wsgi パスの問題

コンパイルしてインストールした 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

私は、envvarsの有無にかかわらずPYTHONHOME、さまざまな組み合わせを試しました。私の は、重要な場合、次のようになります。PYTHONLIBPATHPATH

/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 の両方を置き換えます。

関連情報