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

烏班圖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

如何透過以下方式使用虛擬環境MK虛擬環境命令?您可以為您的虛擬環境選擇自己的 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)對於阿帕契。

答案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

相關內容