ubuntuusers.de

Mu

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

mu_icon.png Mu 🇬🇧 (gesprochen: „Mü“) ist ein Editor, der speziell und ausschließlich für die Programmiersprache Python 3 entwickelt wird. Das Programm gibt es neben Linux auch für Mac OS X und Windows. Mu bezeichnet sich zwar selber als Editor, aber es sind auch einige (grundlegende) Merkmale einer IDE enthalten.

Der Editor hat eine sehr übersichtliche Oberfläche, die nur aus eine Icon-Leiste besteht, es gibt keine weiteren Menüs. Die Besonderheit von Mu ist, dass der Editor vier verschiedene Modi kennt, jeweils optimiert für eine bestimmt Aufgabe.

Weitere Merkmale des Editors sind:

Installation

aus den Paketquellen

Ab Ubuntu 19.04 ist das Programm in den Paketquellen enthalten, allerdings nicht unbedingt in der aktuellen Version:[1]

  • mu-editor (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install mu-editor 

Oder mit apturl installieren, Link: apt://mu-editor

via pip

Die aktuelle, stabile Version des Editors kann man via pip installieren[2]:

pip3 install mu-editor 

Hinweis!

Fremdsoftware kann das System gefährden.

Benutzung

mu_1.png

Der Editor wird über die Eingabe von

mu-editor 

gestartet[2]. Die Oberfläche des Editors ist sehr übersichtlich. Es gibt keine Menüs, alle Funktionen sind direkt über die Schaltflächen in der Werkzeugleiste oberhalb des Eingabebereichs des Editors erreichbar. Deren Beschriftung ist eindeutig und selbsterklärend.

Mu unterstützt Tabs, d.h. es können mehrere Skripte gleichzeitig geöffnet sein. Ein Klick auf "Neu" öffnet einen neuen Tab, in den man dann Python-Code eingegeben oder über "Laden" ein existierendes Skript einlesen kann. Mittels "Prüfen" wird der Pythoncode auf Fehler geprüft.

Ein Klick auf "Ausführen" lässt den Pythoncode laufen, mögliche Ausgaben erscheinen in eine extra Bereich innerhalb des Editorfensters. Ein Klick auf "Stopp" beendet die Ausführung des Programms.

Möchte man den Debugger nutzen, klickt man auf "Debuggen". An der rechten Seite des Fensters öffnet sich ein Bereich Namens "Debugging Inspector", in dem die Werte der Variablen des Programms angezeigt werden. Um das Programm schrittweise durchzugehen, klickt man auf die Schaltfläche "Überspringen", um die nächste Codezeile auszuführen. Ist man in einer Programmzeile, in der eine Funktion / Methode aus einem importieren Modul ausgeführt wird, öffnet ein Klick auf "Schritt hinein" den Code des Moduls in einem neuen Tab.

Speichert man Programmcode, wird dieser im Ordner ~/mu_code/ im Homeverzeichnis des jeweiligen Benutzers abgelegt.

Einen interaktiven Python-Interpreter öffnet man im unteren Teil des Editorfensters über einen Klick auf "REPL". Diese basiert auf IPython 🇬🇧 und unterstützt alle dessen Funktionen.

mu_2.png

Daten plotten

Mu kann Daten automatisch als Liniendiagramm plotten. Dazu muss zum einem die Schaltfläche "Plotter" mit einem Klick aktiviert werden, zum anderen muss das laufende Programm Daten mit print als Tupel 🇬🇧 ausgegeben werden. Für jeden Wert im Tupel wird eine eigene Linie gezeichnet, die Skalierung der Y-Achse erfolgt automatisch anhand der Werte im Tupel. Ein weiterer Klick auf "Plotter" beendet die grafische Ausgabe.

Modus wechseln

Mu kennt für verschiedene Modi, für verschiedene Programmierszenarien. In Abhängigkeit des gewählten Modus ändern sich die Schaltfläche in der Menüleiste. Mit einem Klick auf "Modus" kann man den Modus umstellen, in Tabs geöffnete Skripte werden davon nicht beeinflusst.

Die Modi sind:

  • "Python 3": der Standard-Modus zum Programmieren von Python-Skripten. Hier steht der oben beschrieben Debugger zur Verfügung.

  • "Adafruit CircuitPython": dient zum Programmieren von Adafruit 🇬🇧 Microcontrollern mit CircuitPython 🇬🇧. In diesem Modus könnte Skripte direkt auf dem Microcontroller geladen und ausgeführt werden. Außerdem kann man eine serielle Verbindung zum Microcontroller öffnen sowie den REPL von CircuitPython ausführen und nutzen.

  • BBC micro:bit": dient zum Programmieren des BBC micro:bit 🇬🇧 Mikrocontrollers mit Hilfe von MicroPython 🇬🇧. In diesem Modus können Skripte direkt auf den BBc micro:bit übertragen werden. Über die Schaltfläche "Dateien" kann man auf Dateien zugreifen, die auf dem Microcontroller abgelegt sind und man kann ebenfalls den MicroPython REPL auf dem micro:bit ausführen und nutzen.

  • "Pygame Zero": Modus zum Erstellen vom Spielen mit Hilfe von pygamezero. Ein fertig programmiertes Spiel kann über eine Klick auf "Spielen" gestartet werden, außerdem gibt es Menüpunkte für den schnellen Zugriff auf Bilder, Musik, Geräusche und Schriftarten.

Problembehebung

Fehlermeldungen bei der Installation via pip

Erhält man bei der Installation via pip Fehlermeldungen, dass Python-Module nicht gefunden werden bzw. Abhängigkeiten von Mu nicht aufgelöst werden können, ist wahrscheinlich die genutzt Version von pip zu alt. Diese kann man über den Befehl

pip3 install -U pip 

aktualisieren[2]. Danach sollte die Installation funktionieren.

Fehlermeldung fehlende Pakete bei der Installation via pip

Erhält man bei der Installation via pip Fehlermeldung, dass Module wie z.B. pygame oder matplotlib wegen fehlender (Header-) Dateien nicht installiert werden können, muss man diese vor der Installation über die Paketverwaltung installieren:

  • libpng-dev

  • libfreetype-dev

  • libsdl-image1.2-dev

  • libsdl-ttf2.0-dev

  • libsdl-mixer1.2-dev

  • libportmidi-dev

Befehl zum Installieren der Pakete:

sudo apt-get install libpng-dev libfreetype-dev libsdl-image1.2-dev libsdl-ttf2.0-dev libsdl-mixer1.2-dev libportmidi-dev 

Oder mit apturl installieren, Link: apt://libpng-dev,libfreetype-dev,libsdl-image1.2-dev,libsdl-ttf2.0-dev,libsdl-mixer1.2-dev,libportmidi-dev

Nach der erfolgreichen Installation von Mu können die Pakete wieder entfernt werden.

REPL für Micro:Bit funktioniert nicht

Bekommt man bei einem Klick auf die Schaltfläche "REPL" eine Fehlermeldung, dass auf den Micro:Bit nicht zugegriffen werden kann, dann fehlen die notwendigen Rechte. Der Benutzer muss Mitglied der Gruppe dialout sein, um den interaktiven Programmiermodus nutzen zu können. Fügt man den Benutzer der Gruppe hinzu[3] und meldet sich ab und wieder an, dann sollte auch der Read-Eval-Print-Loop funktionieren. Ohne Ab- und erneute Anmeldung funktioniert es mit dem Befehl newgrp.

Diese Revision wurde am 29. Januar 2024 23:11 von Bärtiger erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Editor, Python, Programmierung