Errata und Updates zu »Scripting«, 1. Auflage 2023

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!