Mein VariomediaHier können Sie sich im Kundenmenü einloggen. |
Weitere Logins |
Python ist eine Skriptsprache, die häufig für individuell entwickelte Web-Anwendungen genutzt wird. Bei der Nutzung von Python sind einige Besonderheiten zu beachten, die im Folgenden näher erläutert werden.
Auf unseren Webservern stehen gegenwärtig die Python-Versionen 2.7, 3.4, 3.5, 3.6, 3.7, 3.8 und 3.9. bereit. Die Standardversion von Python ist 2.7. Wenn Sie python in der Shell aufrufen, erhalten Sie diese Python-Version. Um eine andere Python-Version zu nutzen, fügen Sie einfach die Versionsnummer hinzu, z.B. python3.6 für Version 3.6.
Hinweis: Beachten Sie bitte, dass auf unseren älteren Webservern das OpenSSL-Modul ab der Python Version 3.7 fehlt, da die ältere OpenSSL-Version des Betriebssytems nicht mehr unterstützt wird. Dies führt zu Problemen, falls Sie zusätzliche Python-Pakete installieren möchten. Falls Sie OpenSSL benötigen, nutzen Sie bitte eine ältere Python-Version wie Python 3.6 oder kontaktieren Sie unsere Kundenbetreuung, um auf einen neueren Webserver umzuziehen.
Die meisten Python Web-Anwendungen nutzen als Schnittstelle zum Webserver das sogenannte Web Server Gateway Interface (WSGI). Diese Schnittstelle kann jedoch auf unseren regulären Shared-Hosting-Webservern nicht genutzt werden. Falls Sie eine WSGI-Anwendung nutzen möchten, benötigen Sie einen eigenen Webserver (Pro.B- oder Pro.C-Paket oder einen Reseller.Dedicated-Vertrag) mit dem Zusatzmodul Phusion Passenger. Python-Skripte, die Sie in der Shell aufrufen, sind von dieser Einschränkung nicht betroffen. Beachten Sie zur Nutzung von Phusion Passenger bitte den Link am Ende dieses Artikels.
Falls Sie zusätzliche Python-Module für Ihre Anwendung benötigen, sollten Sie diese in ein sogenanntes Virtual Environment (kurz Virtualenv) installieren. Dabei wird ein spezielles Verzeichnis angelegt, in dem diverse Wrapper-Skripte liegen, die die Python-Standardeinstellungen des Betriebssystems überschreiben. Im Regelfall sollte für jede Anwendung ein eigenes Virtualenv angelegt werden.
Für Python Version 2.7 können Sie einfach virtualenv in der Shell aufrufen (z.B. virtualenv myenv), für neuere Python-Versionen rufen Sie das venv-Modul im Python-Interpreter auf (z.B. python3.6 -m venv myenv). Sie können einen beliebigen Namen für das Virtualenv wählen (hier im Beispiel myenv). Das Virtualenv wird standardmäßig im aktuellen Arbeitsverzeichnis angelegt, es empfiehlt sich Virtualenvs entweder im Anwendungsverzeichnis oder in einem gesonderten Verzeichnis im Stammverzeichnis Ihres Webserver-Benutzeraccounts zu erstellen.
Um das Virtualenv in der Shell zu aktivieren, laden Sie mittels source das activate-Skript im Unterverzeichnis bin des Virtualenvs (z.B. source myenv/bin/activate). Um das Virtualenv wieder zu deaktivieren, genügt der Aufruf deactivate. Wenn Sie ein Python-Skript direkt aufrufen möchten, ohne das Virtualenv vorher zu aktivieren, nutzen Sie den Python-Wrapper des Virtualenv (z.B. myenv/bin/python).
Um zusätzliche Python-Module zu installieren, können Sie diese nach dem aktivieren des Virtualenvs einfach mittels pip installieren (z.B. pip install requests). Die Module werden dann in das Virtualenv-Verzeichnis installiert. Beim Aufruf von pip erhalten Sie möglicherweise einen Hinweis, dass eine neuere Version verfügbar ist. Sie können diese dann mittels pip install --upgrade pip installieren.