Beispielcode für die Verbindung mit einer MariaDB-SQL-Instanz

Erstelle deinen eigenen Preisvergleich für Games in Python

Gerne möchte ich Dich an einem kleinen Projekt teilhaben lassen. Du wirst bestimmt in deiner Freizeit das virtuelle Schwert, das Lenkrad, den Fußball oder was auch immer schwingen, drehen oder treten.

Die meisten dieser Aktivitäten werden möglicherweise vor einem Bildschirm oder Fernseher stattfinden und es wird Spielen oder auch Zocken genannt. 😁 Wenn das auf dich zutrifft und du Spaß am Scripten hast, dann bist du hier genau richtig.
Mit diesem „How-To“ werde ich versuchen, dieses Hobby mit einem einfachen Preisvergleich günstiger zu gestalten.

In dieser Reihe, werde ich dir zeigen, wie du deinen eigenen Preisvergleich für Spiele erstellen kannst. Du wirst dabei diverse Themenbereiche zu sehen bekommen. Unter anderem werden wir uns dieser Themen annehmen: Python3-Programmierung, virtuelle python environments (pipenv), containervirtualisierung mit Docker, web-scraping und noch einiges mehr.

Ich bin kein Experte

Auf keinen Fall bin ich ein Experte was die genannten Themen angeht und ich werde auch Dinge tun, wo du sicher einen besseren Lösungsansatz hättest. Gerne kannst du mir deine Anregung in die Kommentare schreiben. Oder du schickst mir eine E-Mail. Ich würde mich sehr darüber freuen.

Ich selbst werde diese „How-To“-Reihe dazu nutzen, mich zu motivieren weiter zu machen. In der Vergangenheit habe ich diese Projekt bereits mehrfach von Grund auf neu begonnen, da ich mich nicht mehr aufraffen konnte, es fortzuführen. Oft hatte ich das Gefühl, einen falschen Ansatz verfolgt, oder fehlendes Wissen in einem Bereich zu haben.
Doch am Ende ist es alles nur Kopfsache und Prokrastination.

Voraussetzungen

Wir müssen noch einige Vorbereitungen treffen, damit wir loslegen können. Zunächst solltest du Zugriff auf einen, am besten deinen, Computer haben. Das Betriebssystem ist egal.

Als erstes brauchen wir Python in einer aktuellen Version. Ich werde während des Projekts Version 3.7.4 verwenden, wenn du bereits eine ähnliche Version installiert hast, reicht das. Python kannst du dir auf der offiziellen Pyton-Website herunterladen (https://www.python.org/downloads/). Wenn du bei der Installation gefragt wirst, ob du Python zum „PATH“ hinzufügen möchtest, dann wähle dies aus. Es wird dir die Verwendung erheblich vereinfachen. Wenn die Installation von Python abgeschlossen ist, solltest du überprüfen, ob alles korrekt registriert ist. Führe dazu in einem Terminal- bzw. Konsolenfenster folgenden Befehl aus:

python3 --version

Wenn alles funktioniert hat, solltest du als Ausgabe „Python 3.7.4“ erhalten. Oder die Version die du installiert hast / bereits installiert hast.

Bild Ausgabe des Befehls "python3 --version"
So ungefähr sollte die Ausgabe des Befehls „python 3 –version“ aussehen.

Im nächsten Schritt erstellen wir einen Datenbank-Container via Docker. Hierzu muss natürlich Docker installiert sein. Verwende zur Installation bitte den Guide von der offiziellen Docker-Seite und lade Docker auch nur von der offiziellen Seite herunter:

Nach der Installation von Docker, kannst du ebenfalls im Terminal- bzw. Konsolenfenster überprüfen, ob die Installation geklappt hat:

docker --version

Diesmal sollte die Ausgabe „Docker version 18.09.2, build 6247962“ oder neuer anzeigen. Wenn du hier einen Fehler erhältest, könnte es helfen, deinen Computer neuzustarten. Solltest du dich nach einem Neustart immer noch mit Problemen konfrontiert sehen, dann schreib mir ruhig. Vielleicht können wir ja gemeinsam das Problem lösen.

Als nächstes solltest du, falls nicht schon geschehen, einen Ordner für dein Projekt anlegen. Dieser kann auf dem Desktop, oder einem für dich geeigneten Ort, liegen. Erstelle in diesem Verzeichnis noch einen Ordner „db_data“, er wird alle Datenbankdateien des Preisvergleichs enthalten.
In diesem Ordner (nicht db_data, sondern der darüber, also der in dem der db_data Ordner liegt 😅 ) legen wir nun die Datei „docker-compose.yml“ an. Diese Datei kannst du dir als Gerüst für unseren Datenbankcontainer vorstellen. Falls die Beschreibung der Ordner etwas unklar war, hier ein Bild, denn das sagt mehr als 1000 Worte.

Aufbau und Hierarchie der Verzeichnisse
Aufbau und Hierarchie der Verzeichnisse

Die „docker-compose.yml“ Datei erweiterst du um diese Zeilen.

version: '3'
services:
    preisvergleich_db:
        image: postgres:latest
        volumes:
            - ./db_data:/var/lib/postgresql/data 
        environment:      
            - POSTGRES_PASSWORD=StarkesPasswort      
            - POSTGRES_USER=baleon      
            - POSTGRES_DB=preisvergleich_db    
        restart: always
        ports:
            - 5432:5432
  1. Gibt die Version der Konfigurationsdatei an
  2. Leitet die Liste der Dienste ein
  3. Gibt den gewünschten Namen des Containers an
  4. Diese Zeile gibt an, dass die aktuelle Version des „postgres“-Containers verwendet wird
  5. Initiiert die Liste der Volumes
  6. Hier wird dein lokales Verzeichnis „db_data“ angegeben, in welchen das Verzeichnis „data“ des Containers gemappt wird, sodass deine Daten in der Datenbank auch persistent sind, also auch einen Neustart des Containers überleben
  7. Initiiert die Liste der Umgebungsvariablen
  8. Hier kannst du ein starkes Kennwort für deinen Postgres-Benutzer setzen, damit er geschützt ist.
  9. Durch die Angabe dieser Variablen wird ein Benutzer mit gewünschtem Namen erstellt
  10. Mit dieser Angabe wird eine Datenbank mit diesem Namen erstellt, ansonsten wird eine Datenbank mit dem Namen des Benutzers angelegt. Wenn kein Benutzer angegeben ist, wird der Benutzer „postgres“ angelegt und eine gleichnamige Datenbank erstellt
  11. Diese Zeile sagt dem System, dass der Container immer neugestartet wird, solange er nicht manuell beendet wird
  12. Initiiert die Liste der Ports
  13. Dadurch wird dem Container bzw. der Docker-Engine mitgeteilt, dass der Port auch lokal zur Verfügung gestellt werden soll. Hier kannst du natürlich auch einen anderen Port angeben, wenn du weißt, dass du bereits einen Datenbankserver auf diesem Port laufen hast.

Nachdem du die Datei befüllt hast, navigiere via Terminal in den Ordner zur Datei. Im Ordner führst du dann diesen Befehl aus:

docker-compose up

Daraufhin beginnt Docker mit dem Erstellen deines Containers. Es sollte nach einiger Zeit sowas in deinem Konsolenfenster stehen:

Ausgabe in der Konsole nach „docker-compose up“

Damit wir mit den zusätzlichen Paketen nicht das System fragmentieren, setzen wir das Python-Paket „pipenv“ zur Erstellung einer virtuellen (Python3) Umgebung ein.

Zum Installieren von pipenv verwenden wir das Tool „pip3“.

# Installation von pipenv
pip3 install pipenv

Und damit sind alle Voraussetzungen geschaffen, damit du die nächsten Schritte in diesem Projekt gehen kannst. Danke, dass du bis hierhin durchgehalten hast. Gerne kannst du mir in den Kommentaren dein Feedback da lassen. Sei gespannt auf die nächsten Steps in diesem „How-To“.

Weitere Artikel in der Reihe

Werbeanzeigen

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.