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

我尝试过各种带有和不带有PYTHONHOME,PYTHONLIB以及PATH环境变量的组合。我的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。

相关内容