So hosten Sie Ihre Python-Website kostenlos auf Heroku

Sie haben gerade eine einfache Portfolio-Website mit Python fertiggestellt und möchten sie mit kostenlosem Hosting erstellen. Sie haben von Herokus kostenlosem Hosting gehört, verstehen aber die technischen Details nicht ganz.

Diese Anleitung hilft Ihnen dabei, den gesamten Prozess des kostenlosen Hostings Ihrer Python-Website auf Heroku auf viel einfachere Weise durchzuarbeiten. Wir gehen davon aus, dass Sie über Grundkenntnisse in Python und mindestens einem seiner Frameworks verfügen – vorzugsweise in Django.

Heroku ist ein Webhosting-Anbieter von Platform as a Service (PaaS), der seine Infrastruktur auf einem so genannten Dynos ausführt. Sie konzentrieren sich auf die Bereitstellung und kümmern sich um die Schwierigkeit, Ihre Webinfrastruktur zu warten und aufzubauen.

Wenn Sie sich bezahltes Hosting nicht leisten können, aber schnell ein Online-Portfolio aufbauen möchten, sollten Sie es auf Heroku hosten. Es ist nicht nur kostenlos, sondern auch ziemlich schnell, Ihre Website auf Heroku einzurichten.

Natürlich gibt es auch andere Plattformen, auf denen Sie Ihre Python-Website kostenlos hosten können, z. B. Amazon Web Services und PythonAnywhere. Das Hosting auf Heroku ist jedoch einfach – insbesondere für Personen ohne vorherige Kenntnis der Bereitstellung.

Wenn Sie eine kostenlose Website auf Heroku hosten, benötigen Sie nicht unbedingt einen Domainnamen. Sie müssen lediglich Ihren App-Namen auf der Hosting-Plattform angeben. Heroku erstellt dann einen app.herokuapp.com- Locator für Sie. Wenn Sie diesen kostenlosen Dienst nutzen, wird Ihre Website unter Heroku Dynos ausgeführt.

Wenn Sie sich später für eine Skalierung entscheiden und einen Domainnamen erhalten, ist dies ebenso einfach und schnell, aber Sie müssen dafür bezahlen. Die überwältigenden Kosten für die Wartung des Upgrades können dazu führen, dass Sie es überdenken, aber es ist das Geld wert, wenn Sie entschlossen sind, mehr in das Projekt zu investieren.

Lassen Sie uns nun untersuchen, wie Sie Ihre Python-Website kostenlos auf Heroku hosten können. Beachten Sie, dass dies auf Python Version 3.7 und Django Version 2.1.7 basiert.

Laden Sie Git zunächst von der git-scm-Website herunter . Die verschiedenen Befehle und Wendungen zum Installieren von Git auf allen Betriebssystemen werden dort erläutert.

Nach der Installation von Git müssen Sie auf der Heroku-Anmeldeseite ein Konto bei Heroku einrichten, falls Sie noch keines haben.

Laden Sie anschließend die Heroku-CLI von der Heroku-Website herunter und installieren Sie sie. Mit der Heroku-CLI können Sie jedes Mal mit Ihrem Repository kommunizieren, wenn Sie Änderungen an Ihrer App vornehmen müssen.

Wenn Sie mit Git-Befehlen noch nicht vertraut sind, sollten Sie sich unsere Einführung in die Versionskontrolle mit Git ansehen.

Wenn Sie kein Django-Projekt eingerichtet haben und es mit diesem Tutorial ausprobieren möchten, öffnen Sie die Befehlszeile und erstellen Sie eine virtuelle Umgebung, falls Sie noch keine haben. Verwenden Sie diesen Befehl, um das Django-Framework zu installieren, sobald die virtuelle Umgebung bereit ist:

Führen Sie nach der Installation von Django in der virtuellen Umgebung den folgenden Befehl aus, um ein neues Django-Projekt zu starten:

Erstellen Sie als Nächstes eine neue Python-App. Migrieren Sie dazu in den Stammordner Ihres Projekts auf dem CMD und führen Sie Folgendes aus:

Denken Sie daran, Projektname und Anwendungsname durch Ihre bevorzugten Namen zu ersetzen.

Dafür benötigen Sie das Gunicorn- Modul, daher sollten Sie auch pip install gunicorn ausführen . Fügen Sie dann Gunicorn zur Liste der installierten Apps in settings.py hinzu , wie unten gezeigt:

Dies ist nur eine Einführung in die Erstellung einer Django-App. Unabhängig davon , ob Ihre App bereit ist oder Sie nur eine erstellen, stellen Sie sicher, dass Ihre run python manage.py migriert wird , um Ihre Datenbank zu erstellen.

Sie sollten jetzt eine Python-App in Ihrem Django-Framework ausführen. Jetzt tauchen wir in unser Hauptziel ein.

Um eine erfolgreiche Bereitstellung Ihrer App Heroku haben, müssen Sie eine requirements.txt Datei einzurichten. Führen Sie zum Einrichten auf Ihrem CMD Folgendes aus:

Diese Zeile erstellt eine TXT- Datei, die alle Pakete enthält, die für Ihr Projekt verwendet werden. Heroku untersucht diese Datei während der Bereitstellung und installiert diese Pakete automatisch.

Eine weitere wichtige Datei, die Sie angeben müssen, ist das Procfile . Dies teilt Heroku die Befehle mit, die bei der Initialisierung der App ausgeführt werden sollen. Sie müssen diese Datei jedoch erstellen, indem Sie explizit eine neue Textdatei mit dem Namen Procfile in Ihrem Projektstamm erstellen . Stellen Sie sicher, dass diese Datei keine Dateierweiterung hat. Andernfalls funktioniert es nicht.

Um die Dateierweiterung aus der Procfile in Windows zu entfernen, öffnen Sie den Ordner im Datei-Explorer, klicken Sie in der oberen Symbolleiste auf Ansicht und aktivieren Sie das Kontrollkästchen Dateinamenerweiterungen . Anschließend werden die Erweiterungen für alle Dateien angezeigt , einschließlich der Erweiterung .txt für Procfile . Klicken Sie mit der rechten Maustaste auf Procfile und wählen Sie Umbenennen . Entfernen Sie dann einfach die Erweiterung .txt und drücken Sie die Eingabetaste .

Öffnen Sie als Nächstes die Procfile und fügen Sie die folgende Zeile hinzu, wobei Sie den Projektnamen durch den Namen ersetzen, der für Ihr Projekt gilt:

Optional können Sie auch eine runtime.txt- Datei erstellen. Öffnen Sie die Datei und geben Sie die Python-Version wie folgt an:

So teilen Sie Heroku die Python-Version mit, auf der Ihre App ausgeführt wird. Wenn Sie diese Datei nicht angeben, verwendet Heroku standardmäßig nur die neueste Version von Python.

Melden Sie sich als Nächstes an der Eingabeaufforderung bei Ihrem Heroku-Konto an, indem Sie diesen Befehl ausführen:

Dieser Befehl öffnet Ihren Standardbrowser für die Heroku-Anmeldeseite, auf der Sie Ihre Anmeldeinformationen eingeben können.

Geben Sie die folgende Zeile ein, um eine App auf Heroku zu erstellen:

Ersetzen Sie ademosapp2 durch Ihren bevorzugten App-Namen. Wenn Ihr ausgewählter App-Name verwendet wird, wird eine Meldung angezeigt, in der Sie aufgefordert werden, einen neuen Namen auszuwählen.

Klicken Sie auf der Anmeldeseite auf das Heroku-Logo, um sich bei Ihrem Heroku-Dashboard anzumelden. Sie sollten jetzt die App sehen, die Sie gerade erstellt haben.

Öffnen Sie als Nächstes Ihren bevorzugten Texteditor am Speicherort Ihres Projekts und rufen Sie die Datei settings.py Ihres Projekts auf. Ändern Sie in der Datei settings.py den zulässigen Host in [*] —, damit Ihre App für jeden globalen Host zugänglich ist.

Gehen Sie nun in Ihr Heroku-Dashboard und klicken Sie auf die neu erstellte App, gefolgt von den Einstellungen . Scrollen Sie in den Einstellungen nach unten und klicken Sie auf Buildpack hinzufügen . Wählen Sie dann Python als Buildpack aus und klicken Sie auf Änderungen speichern .

Gehen Sie als Nächstes zu Ihrem CMD zurück und führen Sie den folgenden Code aus, um Heroku in Ihrem Projekt zu installieren:

Nun fügen Sie das neu installierte Paket an die requirements.txt Datei ausgeführt wird :

Öffnen Sie dann die Datei settings.py Ihres Projekts und geben Sie Folgendes ein:

Aktivieren Sie in der letzten Zeile von settings.py django-heroku, indem Sie Folgendes hinzufügen:

Starten Sie anschließend ein Remote-Repository, indem Sie Folgendes in Ihre Befehlszeile eingeben:

Erstellen Sie als Nächstes ein Heroku-App-Repository, indem Sie Folgendes ausführen:

Führen Sie Folgendes aus, um die Dateien zu überprüfen, die festgeschrieben werden müssen:

Geben Sie als Nächstes den folgenden Befehl ein, um alle Änderungen zu Ihrem Repository hinzuzufügen:

Sobald die Änderungen hinzugefügt wurden, übergeben Sie Ihre Änderungen an Heroku, indem Sie den folgenden Befehl ausführen:

Beachten Sie, dass "initial-commit" einen beliebigen Namen verwenden kann.

Als nächstes sollten Sie mithilfe der folgenden collectstatic deaktivieren:

Andernfalls können während des Bereitstellungsprozesses Probleme auftreten.

Verwenden Sie den folgenden Befehl, um Ihre Dateien endgültig in Ihr Heroku-Repository zu verschieben:

Dadurch werden alle Ihre Dateien an Heroku gesendet und die App von überall zugänglich. Um Ihre neu bereitgestellte App anzuzeigen , rufen Sie in Ihrem Browser https://app_name.herokuapp.com auf und ersetzen Sie app_name durch den Namen Ihrer App.

Sie können eine Vielzahl von App-Builds auf Heroku hosten. Die gleichen Git-Prozesse, die wir hier behandelt haben, funktionieren auch für andere Sprachen als Python. Sie müssen nur kleine Änderungen vornehmen, z. B. das Zurücksetzen Ihres Build Packs.

Obwohl Heroku Ihnen kostenloses Hosting anbietet, wissen wir alle, dass kostenlose Inhalte mit einigen Einschränkungen verbunden sind. Wenn Sie jedoch nicht erwarten, dass Ihre Website viel Verkehr erhält, ist kostenloses Heroku-Hosting möglicherweise eine gute Option.