Skip to content

Flask Projekt auf einem anderen Rechner installieren

Python3
  • So als Hobby Entwickler hat man manchmal harte Aufgaben 🙂

    Ich habe eines meiner Flask-Projekte mal auf meinem Testrechner versuchsweise installiert um zu schauen, ob das klappt und wo es überall hakt.

    Repo clonen

    Mein Projekt liegt auf gitlab.com und ist nicht privat. Somit ist der Zugriff nicht trivial. Man benötigt einen Access Token, den man sich folgendermaßen erstellen kann.

    Man klickt auf das Icon und dann auf Preferences. Danach auf Access Tokens. Dort erstellt man sich einen.

    Bevor man das Projekt holt, legt man einen Ordner an und wechselt in dieses Verzeichnis. Dann kann man sich das Projekt holen.

    git clone <Repo-URL>
    

    Danach wird man nach dem Benutzer und dem Token gefragt. Um diese Abfrage in Zukunft zu verhindern, kann man folgenden Git Befehl benutzen.

    git config --global credential.helper store
    

    Ok, nun war das Repo auf meinem Rechner.

    Virtuelle Umgebung

    Um mit Python und seinen ganzen Paketen vernünftig arbeiten zu können, benötigt man eine virtuelle Umgebung. Stellt Euch das bitte wie einen Container vor, ein installiertes Paket liegt nur dort und ist für das Hauptsystem meines Rechners nicht vorhanden. Es gibt mehrere Möglichkeiten das zu verwalten, ich mache das wie folgt. Wir befinden uns in dem geclonten Verzeichnis.

    python3.11 -m venv .venv
    

    Damit wird die virtuelle Umgebung angelegt. Dazu wird automatisch der Ordner .venv erzeugt. Wenn man mal Probleme hat, kann man diesen auch löschen und von vorne beginnen.

    Diese Umgebung muss aktiviert werden.

    source .venv/bin/activate
    

    Auf der Kommandozeile wird das jetzt angezeigt, das man sich in der virtuellen Umgebung befindet. Das ist sehr unterschiedlich von Distribution zu Distribution und auch abhängig davon welche Konsole man benutzt.

    Python Module

    Wenn man jetzt die Anwendung mit

    python app.py
    

    startet, bekommt man eine Fehlermeldung.

    ModulNotFoundError: No module named 'flask'
    

    Ok, da wir uns in einer virtuellen Umgebung befindet, sind dort keinerlei Module installiert. Das heißt, wir müssen das jetzt nachholen. Dazu habe ich auf dem Entwicklungsrechner folgenden Befehl benutzt.

    pip freeze > requirements.txt
    

    Dieser Befehl schaut nach, welche Module installiert sind und erzeugt eine Liste. Ein Auszug

    amqp==5.2.0
    appdirs==1.4.4
    argon2==0.1.10
    argon2-cffi==23.1.0
    argon2-cffi-bindings==21.2.0
    asgiref==3.7.2
    asttokens==2.4.1
    async-timeout==4.0.3
    

    Diese Datei befindet sich jetzt innerhalb des Repositorys. Aufpassen, bei mir war das noch unter 'Unversioned Files' was mir doch ein paar Probleme bereitet hatte.

    Ok, wie installieren wir jetzt die Module? Mit

    pip install -r requirements.txt
    

    werden die dann alle installiert. Danach sollte das Projekt laufen.

    Andere Abhängigkeiten

    Mein Projekt nutzt selbst signierte Zertifikate für den Webbrowser, der die Anwendung anzeigt.

    ###############################################
    # Main loop
    ###############################################
    
    if __name__ == "__main__":
        app.run(debug=True, ssl_context=('cert.pem', 'key.pem'))
    

    Die kann man mit folgendem Befehl eben erzeugen.

    openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes
    

    Danach war das auch erledigt. Ein weitere Abhängigkeit war das Redis Datenbank Passwort. Dieses habe ich in einer .env abgelegt. Inhalt

    REDIS_PASSWORD = '<PASSWORD>'
    

    Danach lief die Anwendung. Zu dem Redis Datenbank Problem, was mir dann aufgefallen ist, gibt es einen extra Beitrag.

    Vorsicht

    Das ist so nicht für den produktiven Einsatz gedacht.

    debug=True
    

    Da fehlt noch einiges für, aber das ist hier auch nur ein Entwicklungsrechner.

  • KDE Plasma 6 - RC1

    Linux
    3
    0 Stimmen
    3 Beiträge
    180 Aufrufe
    FrankMF
    Heute die letzte Unstable Edition von KDE Neon installiert. Es gab folgende Version. neon-unstable-20240201-2132.iso Meldet sich bei mir immer noch nur als DEV Version und nicht als RC2 Wenn einer einen Tipp für mich hat.... Der Installer soll mich ja nicht mehr interessieren, aber mir ist aufgefallen, das er jetzt den Standort hinbekommt. Ansonsten läuft es soweit rund. Habt ihr schon mal einen Firefox ohne Addblocker benutzt? Grausam! Kann mir gar nicht vorstellen, so was in meinem Leben nochmal zu benutzen.
  • Debian 12 Bookworm released

    Linux
    5
    0 Stimmen
    5 Beiträge
    345 Aufrufe
    FrankMF
    Mein persönliches Fazit, alles läuft rund mit Debian Bookworm 12 Alle meine Hetzner VMs sind jetzt auf Bookworm Ok, was schwer und zeitaufwendig war, war die Nextcloud Installation bzw. der ganze PHP-Server. Das ist echt jedes mal eine Herausforderung, aber auch dabei werde ich die letzten Jahre sicherer. Hier die Story zum Nextcloud Server https://linux-nerds.org/topic/1437/nextcloud-upgrade-auf-bookworm-12 Richtig rund lief das Upgrade des NodeBB-Servers, war einfach und direkt auf Node18 hochgezogen. https://linux-nerds.org/topic/1444/nodebb-upgrade-auf-debian-bookworm-12 Damit ist jetzt alles hier auf Debian Bookworm 12 Haupt-PC VMs bei Hetzner VMs in der Proxmox Oh, da fällt mir gerade ein, der Proxmox ist noch fällig. Aber, dazu habe ich mir was einfallen lassen, da ist noch ein neues Mainboard unterwegs und dann gibt es dazu einen etwas größeren Beitrag. Danke Debian-Team, Debian Bookworm 12 ist eine runde Sache! Spannend wird jetzt, wie lange ich auf meinem Haupt-PC (Bookworm, KDE, Wayland) bleibe. Ich habe da so eine unangenehme Eigenschaft, wenn es um veraltete Pakete geht. Diesmal werde ich dann wahrscheinlich auf den Debian Unstable Zweig (sid) wechseln. Aber das dürfte noch was dauern, da ja aktuell erst mal alles passt.
  • Firefox mit .deb Paket

    Linux
    3
    2
    0 Stimmen
    3 Beiträge
    158 Aufrufe
    FrankMF
    Wer auch wie ich das Problem hat, das manche Webseiten keinen Text mehr anzeigen. Ich habe da was gefunden. https://neilzone.co.uk/2023/04/flatpak-firefox-112-not-showing-some-bitmap-fonts-in-debian
  • Storage Box für den REST-Server

    Restic
    1
    0 Stimmen
    1 Beiträge
    161 Aufrufe
    Niemand hat geantwortet
  • checkmk - Agent auf einem Debian Buster Server installieren

    Verschoben checkmk
    1
    2
    0 Stimmen
    1 Beiträge
    662 Aufrufe
    Niemand hat geantwortet
  • checkmk - Rest-Server überwachen

    Verschoben checkmk
    1
    3
    0 Stimmen
    1 Beiträge
    479 Aufrufe
    Niemand hat geantwortet
  • NanoPi R4S - Armbian

    NanoPi R4S
    2
    0 Stimmen
    2 Beiträge
    386 Aufrufe
    FrankMF
    Müsste seit gestern so weit sein [image: 1612720791407-b20f93d2-1719-40c5-afb8-6b4edafa6793-image.png]
  • Linux Mint 20 “Ulyana” Cinnamon released!

    Linux
    4
    0 Stimmen
    4 Beiträge
    367 Aufrufe
    FrankMF
    Gut, die AMD Grafikkarte hat mich nicht glücklich gemacht Somit ist sie jetzt Geschichte. [image: 1595690007860-3b0958a7-7c12-46cc-b4de-0aeca38ee77b-grafik.png] Nach der Installation war dann die Hardwarebeschleunigung aus. Linux Mint weist einen aber darauf hin, was man nun machen kann. [image: 1595690201876-8105abd7-23a3-41d5-a961-aba2b859dcb9-grafik.png] Ich hatte dann den empfohlenen Treiber installiert. Nach einem Neustart war dann auch die Hardwarebeschleunigung aktiv. Zwei Dinge, die mich an der AMD-Karte im Zusammenspiel mit Linux Mint 20 Cinnamon genervt haben. Suspend ging nicht Ausloggen aus der Session Da ist eine Sache die ich sehr gerne nutze, Suspend, und dann geht das nicht Meine Recherchen im Netz brachten mich zu keinem Ergebnis, deswegen die NVidia Karte. Es kann sein, das ich zu dumm war die Lösung zu finden..... Aktuelle Bildschirmeinstellung. [image: 1595690523392-989d2eb4-f8c9-4c91-b4eb-e862efabac9b-grafik.png] Braucht jemand eine AMD Radeon RX 5500 XT ???