Ubuntu 11.10; Python2.7 auf libapache2-mod-wsgi statt Python2.6 erwünscht

Ubuntu 11.10; Python2.7 auf libapache2-mod-wsgi statt Python2.6 erwünscht

Ich habe Probleme mit der Konfiguration eines Django-Servers im WSGI-Modus mit Ubuntu 11.10. Hier ist das Problem: Das neueste Ubuntu 11.10 hat standardmäßig Python 2.7. Die Installation von Apache 2 und libapache2-mod-wsgi sollte mit Python 2.6 funktionieren. Meine Konfiguration wurde bereits getestet und funktioniert, aber nicht unter diesen Umständen. Jetzt habe ich die Meldung 403 Forbidden. Was würden Sie mir empfehlen? Behalten Sie Python 2.7 und kompilieren Sie Apache WSGI für Python 2.7 oder machen Sie Python 2.6 zum Standard des Systems (was schlecht ist, da 2.7 für meine Django-Anforderungen besser ist).

Antwort1

Wie wäre es mit der Nutzung einer virtuellen Umgebung durchmkvirtualenvBefehl? Sie können Ihre eigene Python-Version für Ihre virtuelle Umgebung auswählen. Tatsächlich können Sie bei Ubuntu Python 2.6 und 2.7 aus den Binärpaketen installieren.

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

Antwort2

Wenn Python 2.7 für Ihre Anforderungen besser geeignet ist, empfehle ich Ihnen, mod_wsgi für diese Python-Version zu kompilieren.

In der Theorie,libapache2-mod-wsgisollte mit Python 2.6 ordnungsgemäß funktionieren:

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

Eine weitere Möglichkeit ist die VerwendunguWSGI(libapache2-mod-uwsgi) für Apache.

Antwort3

Ich wollte gerade herausfinden, wie ich mod_wsgi mit Python 2.7 auf meinem Ubuntu 11.10-Server einrichte, als ich entdeckte, dass libapache2-mod-wsgi Binärdateien sowohl für Python 2.6 als auch für 2.7 enthält.

Sie können zwischen 2.6 und 2.7 wählen, indem Sie einen symbolischen Link ändern.

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

verwandte Informationen