我有一个已编译并安装的 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。