[[Vorlage(Getestet, focal, bionic, jammy )]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen], optional }}} [[Inhaltsverzeichnis(1)]] [[Bild(thonny.png, 50, align=left)]] [http://www.thonny.org/ Thonny] {en} ist wie die [:Entwicklungsumgebungen/#IDLE:IDLE] eine sehr einfache Entwicklungsumgebung für Python. Aufgrund der Einfachheit eignet sich Thonny insbesondere für Einsteiger, Das Programm gibt es für die drei Betriebssysteme Linux, Windows und Mac, es kann auch sehr gut zur Lehre in Schulen eingesetzt werden. [[Bild(thonny1.png, 300, align=right)]] = Installation = == aus den Paketquellen == Thonny kann direkt aus den Quellen installiert werden (beim ersten Start kann unter 20.04 auch direkt die Sprache ausgewählt werden) [1]. {{{#!vorlage Paketinstallation thonny }}} Allerdings liegt hier ggf eine nicht aktuelle bzw. veraltete Version vor, sodass die manuelle Installation ggf. der bessere Weg ist. == manuelle Installation via pip == Mithilfe von [:pip:] wird die aktuellste Version von Thonny installiert: {{{#!vorlage Befehl pip3 install --user thonny }}} Wer Thonny systemweit installieren möchte, muss den Befehl [:mit Root-Rechten arbeiten:mit Root-Rechten] ausführen. == manuelle über Installationsskript == Mit dem dem Terminalbefehl: {{{#!vorlage Befehl bash <(wget -O - https://thonny.org/installer-for-linux) }}} wird die manuelle Installation über ein Shellskript gestartet. Die beiden Nachfragen während der Installation müssen bestätigt werden. = Bedienung = Thonny ist eine sehr einfache und übersichtliche Entwicklungsumgebung, die sich insbesondere an Einsteiger wendet. Der Python-Quelltext wird im oberen Fenster eingegeben. Ein neues, ungespeichertes Programm hat zunächst den Namen . Führt man den Quelltext mit der Taste [[Vorlage(Tasten, F5)]] aus, so wird der Quelltext zuerst gespeichert (beim ersten Mal wird man dazu aufgefordert und es sollte ein sinnvoller Name gewählt werden. Thonny hängt automatisch ein '''.py''' an den Namen an). Wird im Programm eine Ausgabe erzeugt, so wird diese im unteren Teil in der [wikipedia:Shell_(Betriebssystem): Shell] ausgegeben. Durch die Endung .py erkennt der Editor, dass es sich um einen Python-Quelltext handelt und besondere Begriffe der Sprache Python werden durch Farbe hervorgehoben ([wikipedia:Syntaxhervorhebung:Syntaxhervorhebung]). Programm-Beispiel: {{{#!code python from math import * def hypotenuse(a,b): h = sqrt(a**2 + b**2) return h print(hypotenuse(1,1)) }}} Statt Programme im obigen Editorfenster einzugeben kann man auch Python-Befehle oder selbst definierte Funktionen direkt in der Shell ausführen lassen: {{{#!code pycon >>> a=2 >>> b=3 >>> c=hypotenuse(a,b) >>> print(c) 3.605551275463989 }}} Dabei ist zu beachten, dass eine selbst definierte Funktion (hier im Beispiel `hypotenuse()`) erst nach dem Ausführen des Programms [[Vorlage(Tasten, F5)]] zur Verfügung steht. Will man z.B. die Quadratwurzel aus 2 berechnen mit `sqrt(2)`, so muss vorher auch die entsprechende Pythonbibliothek importiert worden sein. == Grundlegende Eigenschaften == * Die schrittweise Ausführung eines Programms (step-by-stepp debugging) stellt ein zentrales Hilfsmittel dar. * Die Shell ist fest in das Thonny-Fenster integriert, was bei mehreren gleichzeitig geöffneten Programmen mehr Übersicht bietet. * Thonny hat eine Zeilennummerierung, wodurch sich gut über den Code sprechen lässt. * Es können mehrere Tabs gleichzeitig geöffnet sein. * Für Programmieranfänger kann es hilfreich sein, u.A. diese Option zu aktivieren : ''"Extras → Optionen → Edit → Übereinstimmende Namen hervorheben"'' * Menüpunkt: ''"Ansicht → Assistent"'': Gibt Warnungen bzw. Tipps zum aktuellen Quelltext. * Menüpunkt: ''"Ansicht → Dateien"'': Alle Dateien des aktuellen Verzeichnisses werden angezeigt. * Menüpunkt: ''"Ansicht → Kommandozeile"'': Die Kommandozeile (Shell) kann ein- bzw. ausgeblendet werden. * Menüpunkt: ''"Ansicht → Objektinspektor"'': Objekte lassen sich beobachten. * Menüpunkt: ''"Ansicht → Variablen"'': Die Variabenwerte werden während der Ausführung bzw. am Ende des Programms angezeigt. [[Vorlage(Bildunterschrift, thonny2.png, 300, "Thonny-Fenster", right)]] {{{#!vorlage Tabelle <-2 tableclass="zebra_start3" rowclass="titel"> Einfaches Debuggen +++ Tasten Aktion +++ [[Vorlage(Tasten, strg)]] + [[Vorlage(Tasten, F5)]] Startet das aktuelle Programm Schritt-für-Schritt. +++ [[Vorlage(Tasten, F6)]] Große Schritte +++ [[Vorlage(Tasten, F7)]] Kleinere Schritte, um z.B. Schleifen oder Funktionen besser zu verstehen +++ [[Vorlage(Tasten, F5)]] Führt das Programm komplett aus. }}} Wenn man das Programm schrittweise ausführt, öffnet Thonny (z.B. beim Ausführen einer Funktion) ggf. ein zweites Fenster: dort ist der aktuelle Ausführungsschritt gelb unterlegt. Weiterhin werden hier im Beispiel die momentanen Werte der lokalen Variablen a und b angezeigt. == Weitere nützliche Tastenkobinationen == {{{#!vorlage Tabelle <-2 rowclass="titel" tableclass="zebra_start3"> Allgemein +++ Tasten Aktion +++ [[Vorlage(Tasten, strg)]] + [[Vorlage(Tasten, L)]] Leert die Shell (wie in einem Terminal). +++ [[Vorlage(Tasten, strg)]] + [[Vorlage(Tasten, N)]] Erstellt einen neuen Tab für einen weiteren Quelltext. +++ [[Vorlage(Tasten, strg)]] + [[Vorlage(Tasten, O)]] Öffnet einen Quelltext. +++ [[Vorlage(Tasten, strg)]] + [[Vorlage(Tasten, P)]] Öffnet einen Dialog (im Browser) zum Drucken des Quelltextes. +++ [[Vorlage(Tasten, strg)]] + [[Vorlage(Tasten, Q)]] Beendet Thonny. +++ [[Vorlage(Tasten, strg)]] + [[Vorlage(Tasten, S)]] Speichert den aktuellen Quelltext. +++ [[Vorlage(Tasten, hoch)]] Zeigt den vorherigen Shell-Befehl an (falls der Cursor aktuell auch in der Shell ist). }}} == Optik wie IDLE == Wer bisher mit IDLE oder anderen Oberflächen gearbeitet hat und deren Oberflächenlayout bevorzugt, kann im Menü etwas anderes wählen z.B. ''"Extras → Theme & Schrift → Syntax theme → IDLE Classic"''. == Einfache Testinstallation einer Beta-Version == Möchte man die letzte Beta-Version von Thonny testen ohne größeren Installationsaufwand, so kann man z.B. kurz folgende Terminalbefehle nacheinander ausführen: {{{#!code bash python3 -m venv thonny_venv source thonny_venv/bin/activate pip install --pre --no-cache-dir -U thonny thonny }}} = Links = * [http://www.thonny.org/ Thonny] {en} * [https://www.inf-schule.de/imperative-programmierung/python www.inf-schule.de] {de} - Python im online-Lehrbuch Informatik RLP * [https://sourceforge.net/p/idlex/discussion/general/ IdleX - IDLE Extensions for Python] {en} - Forum zu IdleX #tag: Editor, Bildung, Programmierung, Python