Ubuntu 11.10;在 libapache2-mod-wsgi 上需要 Python2.7,而不是 Python2.6

Ubuntu 11.10;在 libapache2-mod-wsgi 上需要 Python2.7,而不是 Python2.6

我在使用 Ubuntu 11.10 以 wsgi 模式配置 Django 服务器时遇到了麻烦。问题如下:最新的 ubuntu 11.10 默认使用 python2.7。安装 apache2 和 libapache2-mod-wsgi 需要使用 python2.6。我的配置之前已经测试过并且可以正常工作,但在这些情况下却不行。现在我收到 403 Forbidden 消息。您有什么建议吗?保留 python2.7 并为 python2.7 编译 apache wsgi 或将 python2.6 设为系统默认设置(这很糟糕,因为 2.7 更适合我的 django 要求)

答案1

如何通过虚拟环境命令?您可以为虚拟环境选择自己的 Python 版本。实际上,Ubuntu 允许您从二进制包中安装 Python 2.6 和 2.7。

$ mkvirtualenv name --python=python2.7 --no-site-packages

答案2

如果 Python 2.7 更适合您的要求,我建议您为该版本的 Python 编译 mod_wsgi。

理论上,libapache2-mod-wsgi应该可以与 Python 2.6 正常工作:

Depends: apache2, apache2.2-common, libc6 (>= 2.4), libpython2.6 (>= 2.6),   
libpython2.7 (>= 2.7), python (>= 2.6), python (<< 2.8)

另一个选择是使用uWSGIlibapache2-mod-uwsgi) 适用于 Apache。

答案3

当我发现 libapache2-mod-wsgi 附带了 Python 2.6 和 2.7 的二进制文件时,我正试图找出如何在我的 Ubuntu 11.10 服务器上使用 Python 2.7 设置 mod_wsgi。

您可以通过更改符号链接在 2.6 和 2.7 之间进行选择。

root@webserver-01:/etc/apache2/mods-available# ls /usr/lib/apache2/modules/mod_wsgi* -la
lrwxrwxrwx 1 root root     15 2011-06-03 15:01 /usr/lib/apache2/modules/mod_wsgi.so -> mod_wsgi.so-2.7
-rw-r--r-- 1 root root 152064 2011-06-03 15:01 /usr/lib/apache2/modules/mod_wsgi.so-2.6
-rw-r--r-- 1 root root 152064 2011-06-03 15:01 /usr/lib/apache2/modules/mod_wsgi.so-2.7

相关内容