Python Grundlagen – die Umgebung
Bevor wir uns in die faszinierende Welt der Python-Grundlagen und -Beispiele stürzen, ist es unerlässlich, eine optimale Entwicklungsumgebung auf deinem Raspberry Pi einzurichten. In diesem Artikel werde ich dir zeigen, wie du eine solche Umgebung einrichtest, damit du bestens gerüstet bist, um deine Python-Projekte auf dem Raspberry Pi zu realisieren.
DarkWolfCave.de
Einrichtung einer Umgebung für alle weiteren Python Grundlagen Themen auf deinem Raspberry Pi
Bevor wir loslegen können, mit den eigentlichen Python Grundlagen und Beispielen, müssen wir natürlich zuerst die entsprechende Umgebung erstellen. Auf deinem Raspberry Pi wird sicherlich schon Python3 installiert sein, zumindest wenn es eine neuere Installation ist. Ansonsten zeige ich dir hier auch, wie du Python3 installieren kannst.
Du wirst hier einen groben Überblick finden.
Allerdings biete ich dir auch noch etwas mehr Support an:
- Du benötigst persönlichen Support
- Du möchtest von Beginn an Unterstützung bei deinem Projekt
- Du möchtest ein hier vorgestelltes Plugin durch mich installieren und einrichten lassen
- Du würdest gerne ein von mir erstelltes Script etwas mehr an deine Bedürfnisse anpassen
Für diese Punkte und noch einiges mehr habe ich einen limitierten
VIP-Patreon Tarif
eingerichtet. Falls er dir dort zurzeit nicht angeboten wird,
kontaktiere mich bitte über Discord und wir finden eine Lösung!
Was wir benötigen
Schauen wir uns erst einmal an, was wir für unsere weiteren Python Grundlagen benötigen werden. Die Liste sieht vielleicht nach viel Arbeit aus, aber glaube mir, so wahnsinnig viel ist das gar nicht:
- Natürlich einen installierten Raspberry Pi
- Python3
- python3-pip
- Environment Umgebung (Optional, allerdings bezieht sich dieser Artikel auf diese Umgebung) – python3-venv
- dotenv – damit zum Beispiel Passwörter nicht systemweit als Variable freigegeben werden müssen
- Putty oder MobaXterm (oder ein anderes vergleichbares Tool)
Python3 und notwendige Bibliotheken installieren
Alle weiteren Themen zu den Python Grundlagen und Beispielen von mir werden mit Python3 programmiert. Vieles funktioniert zwar auch mit Python2, aber es gibt einige Unterschiede, sodass manches nicht mit einer älteren Version laufen würde. Daher beziehe ich mich hier nur auf Python3.
Um jetzt prüfen zu können, welche Version bei dir installiert ist, verbinden wir uns erst einmal mit unserem Raspberry. Ich nutze dafür MobaXterm, aber natürlich funktioniert auch weiterhin Putty oder vergleichbares. Beachte bitte, dass du für die Installationen sudo Rechte benötigst. Welcher User später das Script ausführt, ist im Prinzip egal. Lediglich die Rechte müssen entsprechend passen (auch für die Ordner).
Sobald du per ssh eingeloggt bist, prüfen wir direkt, ob python3 schon installiert ist (sollte bei neuen Raspberry Installationen vorhanden sein):
python3 --version
Solltest du kein python3 installiert haben, müsstest du es installieren. Hier gibt es unterschiedliche Vorgehensweisen. Vor allem was auch die Version angeht, die du nutzen möchtest. In diesem Artikel möchte ich da aber nicht weiter drauf eingehen. Versuche einfach: sudo apt-get install python3.7
.
Weiterhin benötigen wir pip – dies ist ein Tool, das Python-Programmierpakete/Bibliotheken installieren und verwalten kann, die wir in unseren späteren Python Grundlagen Projekten benötigen werden.
sudo apt-get update && sudo apt install python3-pip
Um eine halbwegs “robuste” Programmierumgebung zu haben, laden wir noch einige Programmbibliotheken und dev-Tools nach:
sudo apt-get install build-essential libssl-dev libffi-dev python3-dev
Ich nutze für die Python Grundlagen Projekte gerne eine isolierte “virtuelle” Umgebung mit eigenen Abhängigkeiten und – falls notwendig – auch mit eigener PythonVersion (sehr praktisch um die Scripte unter anderen Versionen testen zu können)
Auch hier gibt es wieder mehrere Möglichkeiten die zum Ziel führen. Wir beschränken uns auf das Modul venv
Also installieren wir dies fix:
sudo apt-get install python3-venv
Nach dieser Installation können wir beginnen, unsere Umgebung zu erstellen. Dafür legen wir im Grunde lediglich einen neuen Ordner an. Ich nutze für dieses Tutorial den User “pi” und erstelle einfach in seinem Home Verzeichnis einen neuen Ordner und wechsle danach in diesen:
mkdir tutorial_DWC cd tutorial_DWC
Wenn du jetzt in deinem neuen Ordner bist, kannst du die eigentliche virtuelle Umgebung für alle folgenden Python Grundlagen Themen erstellen. Wie du diese benennst, ist egal (DEINE_ENV
ersetzen). Ich nutze dafür dwc_tut. Achte darauf, dass du python3 schreibst und nicht nur python!
python3 -m venv DEINE_ENV
Jetzt werden einige Dateien/Ordner automatisch neu angelegt.
In diesen sind alle benötigten Grundpakete/Elemente vorhanden um dein Projekt isoliert ausführen zu können. So vermischen sich keine Projekte untereinander bzw. auch nicht mit dem Server-System.
Damit wir in dieser Umgebung auch arbeiten können, starten wir diese nun: Hier musst du DEINE_ENV
mit dem Namen der gerade erzeugten ersetzen (in meinem Fall: dwc_tut). Dies kannst du mit dem “source” bzw “.” Befehl durchführen:
source ./DEINE_ENV/bin/activate oder . ./DEINE_ENV/bin/activate
Achte auf den Prompt: dieser hat sich jetzt geändert und lautet so, wie du deine env genannt hast. Dies signalisiert dir, dass du dich in deiner isolierten Umgebung befindest. Möchtest du diese wieder verlassen, reicht ein einfaches deactivate
aus und du siehst deinen ursprünglichen Prompt. Wir bleiben aber in unserer Umgebung (oder aktivieren diese wieder, falls du deactivate ausprobiert hast 😛 )
Achte im weiteren Verlauf immer darauf, dass du dich in deiner aktivierten Umgebung befindest bevor du Pakete/Bibliotheken installierst.
Noch eine kleine Installation dann legen wir auch fast sofort los… Diese ist zwar optional und muss nicht verwendet werden. Ich kann sie allerdings aus folgendem Grund empfehlen: Eventuell genutzte Passwörter, Zugangsdaten, Access-Keys oder Token werden wir später in systemweiten Variablen hinterlegen und nicht im Script selbst. Somit wären diese dann auch wirklich systemweit nutzbar/einsehbar…
Mit dem Paket dotenv
ermöglichen wir uns, diese Daten in eine .env Datei abzulegen und diese dann nur im Projekt nutzen zu können.
pip install python-dotenv
Jetzt haben wir alle benötigten Pakete/Bibliotheken in unserer virtuellen Umgebung installiert. Damit wir später auch genau wissen, was wir eigentlich benötigen, falls wir das Projekt weitergeben bzw. unter einer anderen Umgebung nutzen möchten, lassen wir uns jetzt noch final eine requirements.txt erstellen. Diese kann dann dazu genutzt werden, in anderen Umgebungen alle benötigten Abhängigkeiten zu installieren.
pip freeze > requirements.txt
Kleiner Hinweis, solltest du jetzt nachträglich noch Pakete installieren, müsstest du den freeze
Befehl natürlich wiederholen.
Wenn du jetzt dein Projekt vielleicht weitergeben oder unter einer anderen ENV bzw auf einem anderen Server/Raspberry installieren willst, musst du lediglich bei der neuen Einrichtung die requirments.txt bei der pip Installation mit angeben und pip installiert alle benötigten Bibliotheken in der zuletzt verwendeten Version:
pip install -r DEINE_NEUE_ENV/requirements.txt
Jetzt sind soweit alle Vorbereitungen für weitere Python Grundlagen getroffen und wir können mit den ersten praktischen Beispielen beginnen.
Alias einrichten für Python3
Wie du sicher schon bemerkt hast, sind auf deinem Raspberry Pi jetzt zwei Python-Versionen installiert.
Dies kannst du selbst sehen indem du einmal python -V
und dann python3 -V
eingibst. Jetzt solltest du erkennen dass es einmal Python 2.x und einmal Python 3.x gibt.
Damit nun immer die richtige Version genutzt wird, müsstest du für die 3er Version immer Python3 script.py eingeben.
Grundsätzlich ist dies kein Problem, sofern man daran denkt…
Und wenn man eh nur noch mit der 3er Version arbeitet, oder zumindest recht selten die 2er nutzt, dann könnte man auch einen Alias einrichten bei dem Python zu Python3 wird.
Das geht sehr einfach, im Terminal alias python=python3
eingeben. Mit python -V erscheint nun die 3er-Version.
Allerdings müsstest du dies nach jedem neuem LogIn wiederholen.
Alternativ schreibst du den Alias-Befehl einfach in die .bashrc bei deinem User im Home-Verzeichnis.
echo 'alias python=python3' >> ~/.bashrc
Jetzt nur noch einmal die .bashrc neu laden:
source ~/.bashrc
Und schon erscheint bei der Eingabe von python -V
die 3.xx Versionsnummer.
Wie man eine Python Umgebung startet
Du kannst unter Linux immer eine CLI (command line interface) öffnen und dort die Befehle für Python eingeben. Unter Windows geht es ähnlich, wir bleiben aber bei Linux…
- gib einfach
python3
ein und drücke Enter 🙂 - hast du zwei Python Versionen installiert, und KEINEN Alias eingerichtet wie etwas weiter oben beschrieben, dann kannst du mit
python
eine 2er Version starten - Solltest du den Alias aber bereits eingerichtet haben, dann müsstest du für eine Python2xx Version auch
python2
eingeben - Nun befindest du dich auf der Python CLI (>>>)
- Hier kannst du jetzt deine Python Befehle eingeben:
print('Hallo DarkWolfCave')
- Verlassen kannst du diese Umgebung mit
exit()
Wie man ein Python Script erstellt und ausführt
Du möchtest ja nicht immer alle Befehle direkt in der CLI eingeben, sondern deine eigenen Scripte erstellen, die dann irgendwie gestartet werden müssen.
Die nächsten Schritte sind eine beispielhafte “Trockenübung” – das Script ist leer und auch bei einem Aufruf passiert natürlich nichts 😉
- erstelle in einem Ordner deiner Wahl eine neue Datei, z.B. so:
touch test.py
- in diese Datei würde später dann dein Script-Code hineinkommen
- die Datei muss ausführbar sein, daher ändern wir dies mit:
chmod +x test.py
- aufrufen kannst du sie jetzt mit
python3 test.py
– oder mit –./test.py