Diese Seite enthält Updates und Errata zum Buch »Scripting« (1. Aufl. 2023).
Verwendung der Python-Beispieldateien / Probleme mit »pip«
Beginnend mit Ubuntu 23.04, Debian 12 und Raspberry Pi OS Bookworm hat sich das Verhalten von pip
verändert. Anstatt das gewünschte Modul zu installieren, zeigt das Kommando eine Fehlermeldung an. Im Detail habe ich dieses Problem, seine Ursache und mögliche Lösungen ausführlich in diesem Blog-Beitrag beschrieben.
Die Beispielsdateien zu diesem Buch sind kapitelweise organisiert. In jedem Verzeichnis befindet sich in der Datei requirements.txt
eine Liste der erforderlichen Module. Der einfachste und beste Weg, die Beispiele unter aktuellen Versionen von Debian oder Ubuntu auszuführen, besteht darin, vorweg die notwendigen Module zu installieren — allerdings nicht mit pip
, sondern mit apt
. Beispielsweise enthält requirements.txt
für Kapitel 18 Verweise auf die Module requests
sowie matplotlib
. Führen Sie also das folgende Kommando aus:
sudo apt install python3-matplotlib python3-requests
Allerdings stehen nicht alle im Buch eingesetzten Module in Form von Debian-Paketen zur Verfügung. Z.B. fehlt das in Kapitel 17 eingesetzte Modul beautifulsoup4
. Um die Scripts auszuprobieren, verwenden Sie am besten das Tool pipenv
(siehe Seite 201), das Sie wie folgt installieren:
sudo apt install pipenv
Nun wechseln Sie in das gewünschte Verzeichnis, führen einmalig pipenv install
aus, um die notwendigen Module im lokalen Verzeichnis als Python Environment zu installieren, und führen das gewünschte Script mit pipenv
aus:
cd beispieldateien/17
pipenv install
pipenv run ./hello-beautifulsoup.py
Seite 36 (Listing zu »Virtuelle Maschinen klonen«)
In der vorletzten Zeile des Listings ist von der Variable $disk1
die Rede. Die Variable lautet aber einfach $disk
.
Seite 40 (WSL-Installation)
Unter Umständen kann es bei einem Windows-Update zu einer Deaktivierung von WSL kommen. Beim nächsten Versuch, WSL zu nutzen, kommt es dann zu einer wenig aussagekräftige Fehlermeldung: WSL could not work after restarting, with ERROR 0x80004002.
Abhilfe schafft die Reaktivierung von WSL. Dazu öffnen Sie in der Systemsteuerung das Modul Programme / Windows-Features aktivieren oder deaktivieren und aktivieren die Optionen bei VM-Plattform und Windows-Subsystem für Linux.
Seite 65 (mathematische Operatoren)
Im Listing (Seitenmitte) fehlt bei y=$((x+3)
eine Klammer. Korrekt sieht die Zuweisung so aus: y=$((x+3))
Seite 69 (Einfache versus doppelte Apostrophe)
Der zweite Aufzählungspunkt sollte wie folgt eingeleitet werden:
"abc$efg"
: Bei der Variante …
Seite 73 (Parametersubstitution)
Das Beispiel im zweiten Aufzählungspunkt muss echo ${var:5:3}
lauten.
Seite 280 (Reguläre Muster mit grep)
Die Option zur Aktivierung der POSIX Extended Regular Expressions (ERE) lautet -E
(nicht -e
).
Seite 350, VSCode
Achtung, Falle: Wenn Sie VSCode unter Windows verwenden und damit ein Script bearbeiten, das im WSL (z.B. Ubuntu) ausgeführt werden soll, dann führt der Run-Button dieses Script unter Windows aus, nicht in der WSL-Umgebung! Wenn unter Windows ebenfalls Python installiert ist, funktioniert das, quasi zufällig. Aber wenn Ihr Script ein Modul verwendet, das Sie in WSL installiert haben (nicht aber unter Windows), tritt ein Fehler auf, dessen Ursache schwer zu erkennen ist: VSCode führt das Script mit Python für Windows aus, nicht mit Python aus der WSL-Installation!
Seite 389 (ImageMagick)
Die Pakete vieler Linux-Distributionen enthalten noch Version 6.n von ImageMagick. Das Kommando magick
(empfohlen ab Version 7) steht dort nicht zur Verfügung. Sie müssen stattdessen convert
verwenden.
Seite 441 (PyMySQL)
Anstelle von pip install requests
muss es natürlich pip install pymysql
heißen.
Letzte Änderung 22.1.2024. Vielen Dank an alle Leser, die mir Feedback geben!