Schlagwort-Archive: Python

Hilfe, pip funktioniert nicht mehr!

pip ist das Paketverwaltungs-Tool von Python. Wenn Sie in einem Script ein Zusatzmodul benötigen, führen Sie einfach pip install xxx bzw. unter macOS und bei manchen Linux-Distributionen pip3 install xxx aus. pip lädt das erforderliche Modul sowie eventuelle Abhängigkeiten herunter und installiert die Pakete lokal (d.h., sie brauchen meine root-Rechte).

Meistens funktioniert pip gut — aber nicht immer. Die häufigste Fehlerquelle unter Windows ist die Parallelinstallation mehrerer Python-Versionen. Dann ist nicht immer klar, auf welche Python-Version sich pip bezieht. Nach meiner Erfahrung scheint pip zumeist die falsche Version zu nehmen. Daher mein Tipp: Vermeiden Sie unter Windows unbedingt die Mehrfachinstallation von Python!

Aber auch unter Linux kann es Probleme geben. Die Ursache hier besteht darin, dass viele Distributionen selbst eine riesige Sammlung von Paketen mit Python-Erweiterungen anbieten. Die Parallelinstallation eines Moduls, einmal mit apt oder dnf und ein zweites Mal mit pip, kann dann zu Konflikten führen — insbesondere dann, wenn nicht exakt dieselben Versionen zum Einsatz kommen. Die Python-Entwickler haben deswegen im ‎Python Enhancement Proposals (PEP) 668 festgeschrieben, dass in solchen Fällen Pakete aus Linux-Repositories vorzuziehen sind. PEP 668 gilt grundsätzlich seit Python 3.11. Tatsächlich implementiert ist es momentan nur in aktuellen Linux-Distributionen:

  • Ubuntu ab Version 23.04
  • Debian ab Version 12
  • Raspberry Pi OS ab dem Bookworm-Release (Okt. 2023)
  • Arch Linux

Noch nicht implementiert ist PEP 668 dagegen unter RHEL und Fedora (auch nicht in Version 39 Beta).

Hilfe, pip funktioniert nicht mehr! weiterlesen

Raspberry Pi OS »Bookworm«

Seit gestern ist die neue Version von Raspberry Pi OS auf der Basis von Debian 12 (»Bookworm«) verfügbar. Diese Version ist Voraussetzung für den Raspberry Pi 5, läuft aber natürlich auch auf älteren Raspberry Pis. Ich habe meine Tests auf einem Pi 5 sowie einem Pi 400 durchgeführt.

Auf den ersten Blick sieht der Desktop auf der Basis von LXDE nahezu unverändert aus. Aber dieser Eindruck täuscht erheblich: Raspberry Pi OS verwendet jetzt Wayland, PipeWire und den NetworkManager.

Auf den Modellen Pi 4, Pi 400 und Pi 5 läuft der Pixel Desktop unter Wayland

Raspberry Pi OS »Bookworm« weiterlesen

Programmieren im Zeitalter von ChatGPT

ChatGPT ist in aller Munde. Es formuliert in flüssigem Deutsch oder Englisch Hausaufgaben, löst Philosophie-Wiederholungsfragen und fügt bei Bedarf frei erfundene Quellen hinzu, damit der Text seriöser/wissenschaftlicher wirkt. Wenn man das Programm hinweist, dass 2+3 keineswegs 5 ist, entschuldigt es sich höflich für seinen Fehler. Kurzum, Bananen-Software, reift beim Anwender? Ich bin nicht dieser Meinung.

Trotz aller Unzulänglichkeiten schätze ich das Programm mittlerweile so sehr, dass ich bereit wäre, für seine Anwendung zu zahlen. Bisher war das nicht notwendig. Mit ein paar Versuchen ist mir der Login noch jedes Mal gelungen, auch bei angeblich unerwartet hoher Auslastung.

Nun zähle ich nicht zu den Twitter- oder YouTube-Enthusiasten, die Ihnen versprechen, mit ChatGPT 10 x produktiver zu arbeiten oder 10.000 EUR pro Monat extra zu verdienen. Blödsinn! Aber ich bin mittlerweile überzeugt, dass mir ChatGPT mehr Zeit erspart, als ich brauche, um die ca. 23 EUR zu verdienen, die ChatGPT Plus aktuell pro Monat kostet. Und ich bin schon sehr gespannt, welche KI-Tools als Nächstes kommen!

Programmieren im Zeitalter von ChatGPT weiterlesen

Raspberry Pi Pico: MicroPython-Programmierung

In meiner Kurzvorstellung des Raspbery Pi Pico habe ich Ihnen gezeigt, wie Sie auf dem Micro-Controller MicroPython installieren und über eine Konsolen-App (z.B. minicom) interaktiv nutzen können. Das ist ein wichtiger erster Schritt, um den Pico auszuprobieren. Letztlich wollen Sie aber Programme entwickeln, die dauerhaft am Pico laufen. Dazu reicht die interaktive Anwendung des Python-Interpreters nicht aus.

Dieser Beitrag zeigt, wie Sie mit Thonny ein »richtiges« MicroPython-Programme entwickeln und dieses auf dem Pico so speichern, dass es beim nächsten Start des Micro-Controllers automatisch ausgeführt wird.

Raspberry Pi Pico: MicroPython-Programmierung weiterlesen

Raspberry Pi Pico

Die Raspberry Pi Foundation hat Ihr neuesten Projekt vorgestellt: Trotz Namensähnlichkeiten handelt es sich beim »Raspberry Pi Pico« nicht um ein Mitglied der Mini-Computer-Serie (Raspberry Pi 1/2/3/4/400 A/B/Zero/Compute Model). Der Pico ist kein vollwertiger Computer samt Betriebssystem, sondern »nur« ein Micro-Controller.

Raspberry Pi Pico (Vorderseite)

Sie können auf dem Gerät selbst entwickelten Code ausführen und dabei über diverse GPIOs eine Menge Hardware-Schnittstellen ansteuern. Es gibt aber kein Grafiksystem samt Monitor-Ausgabe, keine Anschlüssel für Tastatur, Maus oder externe Datenträger, keinen Eingang für ein Kameramodul, keine Netzwerkfunktionen, kein WLAN, kein Bluetooth. Dafür punktet der Pico beim Preis (4 EUR) und beim Stromverbrauch (nur ca. 0,4 W, im Ruhemodus gar nur 0,006 W).

Der Pico ist also keine neue Variante zu den herkömmlichen Raspberry-Pis. Das Gerät spricht einen ganz anderen Markt an, der vor allem von Arduino dominiert wird, in dem sich aber diverse andere Hersteller tummeln. Im Vergleich zu anderen Microcontrollern will der Pico mit relativ viel Rechenleistung für wenig Geld punkten.

Raspberry Pi Pico weiterlesen

»Python Grundkurs« erschienen

Selten ist mir ein Buch derart gut von der Hand gegangen wie der soeben erschienene Python Grundkurs:

Die Idee für das Buch hatte ich eigentlich schon vor drei Jahren. Dass das Buch gerade jetzt zustande kam, haben Sie — zugegebenermaßen etwas überraschend — Apple zu verdanken: Eigentlich wollte ich über den Sommer an der Neuauflage meines Swift-Buchs arbeiten. Aber dann hat Apple verkündet, dass Swift 5 erst 2019 fertig würde. Die so entstandene Lücke in meinem Kalender habe ich mit vielen Radtouren gefüllt. Außerdem habe ich auf 460 kompakten Seiten die Grundelemente der Programmiersprache Python zusammengefasst.

Ein Loblied auf Python

Python ist eine ungemein elegante Programmiersprache. Mit Python verfasster Code ist in der Regel kompakter und leichter zu lesen als bei vielen anderen Sprachen. Weil zudem der Overhead einer kompilierten Sprache entfällt, kommt Python Einsteigern besonders entgegen. (Persönlich bin ich der Meinung, das Python als First Programming Language viel besser geeignet wäre als Java oder C#. Diese beide Sprachen dominieren zumindest im deutschen Sprachraum den Unterricht in den ersten Semestern.)

Die Einfachheit von Python schränkt aber keinesfalls seine Anwendung ein:

  • Dass Python universell für alle erdenklichen Aufgaben geeignet ist, liegt an seinem Modulkonzept: Im Internet finden Sie Tausende kostenlose Erweiterungen. Die Installation solcher Module und ihre Integration in eigenen Code sind ausgesprochen einfach.

  • Python ist auch im (natur)wissenschaftlichen Sektor sehr beliebt — aktuell ganz besonders im Bereich der künstlichen Intelligenz. Mit keiner anderen Sprache kommen Sie mit derart wenig Code ans Ziel. Python ist ideal zum Experimentieren geeignet, wenn konkrete Ergebnisse und nicht der perfekte Code im Vordergrund stehen.

  • Zur Popularität von Python hat natürlich auch der Raspberry Pi beigetragen. Trotz vieler Alternativen ist Python die bevorzugte Programmiersprache der Maker-Gemeinde.

Lassen Sie sich von meiner Begeisterung für Python anstecken! Wenn Sie Python kennenlernen möchten, bietet mein Grundkurs mit vielen Übungsaufgaben (natürlich samt Lösungen) einen idealen Startpunkt.