我正在运行 Ubuntu 10.04.1 LTS,它预装了 python2.6,但我需要用 python2.7.2 替换它。
(原因很简单,2.7 有很多从 3 向后移植的特性)
我已经安装了 python2.7.2 使用
./configure
make
make altinstall
Run Code Online (Sandbox Code Playgroud)
altinstall 选项将它安装到 /usr/local/lib/python2.7 并将解释器放置在 /usr/local/bin/python2.7 中,而不涉及系统默认版本
然后为了帮助 mod_wsgi 找到 python2.7,我将以下内容添加到 /etc/apache2/sites-available/wsgisite
WSGIPythonHome /usr/local
Run Code Online (Sandbox Code Playgroud)
我启动了 apache 并运行了一个测试 wsgi 应用程序,但是迎接我的是python 2.6.5 而不是 Python2.7
后来我替换了默认的 python simlink 指向 python 2.7
ln -f /usr/local/bin/python2.7 /usr/bin/python
Run Code Online (Sandbox Code Playgroud)
现在在控制台上输入 'python' 会打开 python2.7 但不知何故 mod_wsgi 仍然会选择 python2.6
接下来我尝试,
PATH=/usr/local/bin:$PATH
export PATH
Run Code Online (Sandbox Code Playgroud)
然后快速重启apache,但又是python2.6!
这是我的 $PATH
/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Run Code Online (Sandbox Code Playgroud)
/etc/apache2/sites-available/wsgisite 的内容
WSGIPythonHome /usr/local
<VirtualHost *:80>
ServerName wsgitest.local
DocumentRoot /home/wwwhost/pydocs/wsgi
<Directory /home/wwwhost/pydocs/wsgi>
Order …Run Code Online (Sandbox Code Playgroud)