Artikel & Guides

Python Grundlagen – die Umgebung

letzte Änderung: 29. August 2021

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 zu erst 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.

ACHTUNG! Bitte lesen!
Du benutzt das hier Gezeigte natürlich, wie immer, auf eigenes Risiko!
Ich habe alles selbst durchgeführt und mir mein System nicht zerschossen oder sonst irgendwelche negativen Auffälligkeiten bemerkt.
Aber dennoch… Backups sind immer gut….
Ich übernehme keine Haftung für irgendwelche Schäden am System, der Hardware oder der Katze….

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 so dass 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
Python Grundlagen

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
python3 startENV

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
Twitter Bot installieren

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')
PythonCLI
  • 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

Weitere Python Grundlagen Themen

Python Webseiten Prüfung Erweitern (Teil 2)

Erstellt am: 16. Januar 2022

Im zweiten Teil unserer „Python Webseiten Prüfung“ geht es um die Erweiterung des Basis-Scripts mit einigen nützlichen Funktionen. Weiterhin gilt natürlich alles aus dem ersten Teil. Also die Abfrage ob eine Seite erreichbar ist oder einen Fehler zurück gibt (40x/50x).Bisher konnten wir das Script direkt mit einem Parameter (einer URL) aufrufen und uns das Ergebnis ... Weiterlesen ...




Python IF Then Abfrage

Erstellt am: 25. September 2021

Du hast bereits ein wenig getestet und dich durch andere Beispiele gewühlt, fragst dich aber noch immer was eigentlich diese komischen Python IF THEN Abfragen so sind?!Wozu man sie benötigt oder wie man diese eigentlich anwendet?!Dann ließ weiter und du wirst deine Fragen beantworten können. Inhaltsverzeichnis anzeigen Python IF THEN Abfrage Der Aufbau AND / ... Weiterlesen ...




Python Grundlagen - einfache Webseiten Prüfung

letzte Änderung: 31. Oktober 2021

In diesem Teil der Python Grundlagen werden wir zusammen ein sehr einfaches Script erstellen, welches prüft ob eine Webseite erreichbar ist. Hierfür solltest du bereits die Python 3 Umgebung fertig installiert haben. Wie dies genau funktioniert kannst du in diesem Artikel nachlesen.Ich beziehe mich hier immer auf eine Python Installation die auf meinem Raspberry Pi ... Weiterlesen ...




Python Funktionen

Erstellt am: 29. August 2021

Wozu Funktionen Inhaltsverzeichnis anzeigen Wozu Funktionen Ein Beispiel ohne Python Funktionen Das Beispiel mit Python Funktionen Wie erstellt man Python Funktionen? Werte zurückgeben / return / print 1. Möglichkeit: Wir setzen eine Variable innerhalb von Python Funktionen auf ‚global‘ 2. Möglichkeit: Der ‚print‘ Befehl 3. Möglichkeit: Der ‚return‘ Befehl Weitere Python Grundlagen Themen In vielen ... Weiterlesen ...




Python Variablen

letzte Änderung: 29. August 2021

Was sind Python Variablen? Inhaltsverzeichnis anzeigen Was sind Python Variablen? Datentypen kurz angerissen Python Variablen erstellen Mit Zeichenketten spielen (str) Sonderzeichen / Steuerzeichen Globale Python Variablen Weitere Python Grundlagen Themen Wir benötigen für alle weiteren Beispiele aus den Python Grundlagen immer wieder Python Variablen. Aber was sind das genau?Ganz einfach ausgedrückt sind sie wie ein ... Weiterlesen ...




Python praktische Grundlagen auf dem Raspberry Pi

Erstellt am: 21. August 2021

Du hast einen Raspberry PI und möchtest ein wenig mit Python experimentieren oder hast sogar schon genaue Vorstellungen was du machen möchtest, aber weißt nicht genau wie du anfangen könntest? Oder du brauchst eher praktische Grundlagen und nicht nur die ganzen theoretischen? Dann zeige ich dir hier ein paar Dinge die dir hoffentlich ein wenig ... Weiterlesen ...




Schreibe einen Kommentar