这是this问题的延续,但它已经偏离,所以我开始了一个新问题。我想使用Python 2.5而不是OS X的默认2.6。我为我的终端和诸如此类的东西设置了这个,但是每当apache运行时它会给我以下错误输出:
[Thu Jun 23 00:01:42 2011] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Thu Jun 23 00:01:42 2011] [warn] mod_wsgi: Compiled for Python/2.5.4.
[Thu Jun 23 00:01:42 2011] [warn] mod_wsgi: Runtime using Python/2.6.1.
[Thu Jun 23 00:01:42 2011] [notice] Digest: generating secret for digest authentication ...
[Thu Jun 23 00:01:42 2011] [notice] Digest: done
[Thu Jun 23 00:01:42 2011] [notice] Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8l DAV/2 mod_wsgi/3.3 Python/2.6.1 configured -- resuming normal operations
我设置WSGIPythonPath以匹配sys.path在python shell中提供的内容:
WSGIPythonPath /System/Library/Frameworks/Python.framework/Versions/2.5
仍然没有运气。想法?
答案 0 :(得分:11)
您应该使用以下指令,具体取决于您使用的mod_wsgi版本
对于mod_wsgi 1.x:
WSGIPythonExecutable /path/to/python/2.5/exe
对于mod_wsgi 2.x:
WSGIPythonHome /path/to/python/2.5/exe/directory
WSGIPythonPath
只是为了在WSGI上下文中将自己的库添加到Python Path中。
文档链接:http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIPythonExecutable
答案 1 :(得分:4)
[Thu Jun 23 00:01:42 2011] [warn] mod_wsgi: Compiled for Python/2.5.4.
[Thu Jun 23 00:01:42 2011] [warn] mod_wsgi: Runtime using Python/2.6.1.
这两行告诉您mod_wsgi是针对错误的Python版本编译的,因此您需要使用正确的--with-python
指令重新编译它。请参阅http://code.google.com/p/modwsgi/wiki/QuickInstallationGuide#Configuring_The_Source_Code。
答案 2 :(得分:2)
以下是我在CentOS 6.7上解决类似问题的方法,因为默认是Python 2.6,我需要安装Python 2.7来支持Django网站。
首先,我使用yum
安装了Python 2.7:
yum install python27 python27-python-devel python27-MySQL-python
Python 2.7的安装路径为/opt/rh/python27/root/usr/bin/python
然后我们需要用新路径重新编译mod_wsgi,这里是命令:
wget https://github.com/GrahamDumpleton/mod_wsgi/archive/4.4.21.tar.gz
tar -xzf 4.4.21.tar.gz
cd mod_wsgi-4.4.21
./configure --with-python=/opt/rh/python27/root/usr/bin/python LDFLAGS="-R/opt/rh/python27/root/usr/lib64"
make && make install
service httpd restart
tail /var/log/httpd/error_log
这里的关键点是mod_wsgi需要在我的Python 2.7安装中找到libpython2.7.so
下的/opt/rh/python27/root/usr/lib64
。
我的安装中的另一个重要注意事项是,我必须使用python27-MySQL-python
安装yum
,否则在使用pip
进行安装时会出现错误,如下所示:
pip install MySQL-python