ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

Python

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

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Python 🇬🇧 ist eine Interpretersprache, d.h. der Programmcode muss vor Ausführung nicht kompiliert werden. Python bzw. Python-Programme sind integraler Bestandteil vieler Linux-Distributionen, so auch von Ubuntu. Python ist, neben C, die offizielle Entwicklersprache von und für Ubuntu.

Python ist grundsätzlich plattformunabhängig angelegt, d.h. Programme lassen sich auf sehr viele Plattformen 🇬🇧 ohne großen Aufwand portieren.

Seit Beginn seiner Entwicklung durch Guido van Rossum in den 1990ern folgt Python zwei grundlegenden Prinzipien.

Programme erstellen

Um Programme mit Python zu erstellen, gibt es drei Wege, welche im Folgenden besprochen werden. Dies ist die Arbeit mit

  • der interaktiven Pythonkonsole - der Code wird bei der Eingabe sofort ausgeführt

  • Editoren und Konsole - der Code wird in einem Editor erstellt und über die Konsole ausgeführt

  • Entwicklungsumgebungen - alle Bestandteile, um ein Programm zu erstellen, sind in einer Umgebung zusammengefasst

Installation

Python ist bei einer Ubuntu-Installation bereits enthalten, da auch Systemkomponenten Python benötigen. Das Paket

  • python

Befehl zum Installieren der Pakete:

sudo apt-get install python 

Oder mit apturl installieren, Link: apt://python

enthält die grundlegenden Pakete der vom System aktuell verwendeten Version.

Ab Feisty liegt Python standardmäßig in der Version 2.5 vor, in Edgy und Dapper als Version 2.4. Ab Jaunty wird Python 2.6 verwendet.

Die interaktive Konsole

Die Arbeitsweise einer Konsole ist ähnlich der Shell [3] für Linux. Sie ist vor allem zum Testen von kleineren Abschnitten des Quelltextes nützlich, da die eingegebenen Befehle sofort ausgeführt werden.

Für Einsteiger gibt es ein besonders benutzerfreundliche (bzw. einsteigerfreundliche) Variante namens bpython.

Start

Die interaktive Konsole wird gestartet durch [3]

python 

Schon kann es losgehen.

Code-Completion

Es ist sehr praktisch, auch in der interaktiven Konsole eine automatische Vervollständigung des Codes zu nutzen. Dazu legt man eine Datei ~/.pythonrc mit folgendem Inhalt an:

1
2
3
4
5
6
7
try:
    import readline
except ImportError:
    print("Module readline not available.")
else:
    import rlcompleter
    readline.parse_and_bind("tab: complete")

Umgebungsvariable PYTHONSTARTUP muss gesetzt werden.

1
export PYTHONSTARTUP=~/.pythonrc

Ab dem nächsten Aufruf von Python auf der Konsole kann man dann die Vervollständigung mit Tab ⇆ nutzen.

Eingaben werden mit bestätigt.

Will man aus früher eingegebenen Befehle auswählen, so geschieht die Navigation in diesen durch und .

In der aktuell angezeigten Eingabe kann man sich mittels und bewegen.

Nützliche Befehle

Um in der Konsole zu arbeiten, gibt es einige sehr hilfreiche Befehle von Python. Sie werden an einem kurzen Beispiel erklärt

>>> dir() 

Es wird eine Auflistung aller der Konsole bekannten Variablen ausgegeben

>>>import os
>>> help(os) 

Es wird das Modul os importiert. Somit erhält man viele Möglichkeiten, um Informationen über das System zu erhalten. Mit help(os) wird eine kommentierte Übersicht aller im Modul enthaltenen Klassen und Methoden ausgegeben.

Ein Programm erstellen

Der Standardweg, um Python-Programme zu erstellen, geht über einen Editor. Editoren bieten viele Hilfen wie Syntaxhervorhebung, automatische Einrückung und Funktionen zu verkleinern. Daher gibt es auch eine riesige Zahl von Programmen, es kann also jeder einen Editor seiner Wahl finden.

Es wird der Quelltext im bevorzugten Editor [4] erstellt und als *.py abgespeichert.

1
2
3
#!/usr/bin/python
#mein Hallo-Welt-Programm
print 'Hallo Welt!'

Als Beispiel sei der Quellcode unter ~/hallowelt.py abgespeichert.

Nun öffnet man das Terminal [3] und wechselt in das Verzeichnis der Quelldatei. In diesem Ordner kann man sodann durch eine einzige Befehlszeile den Code ausführen

python hallowelt.py 

Neue Funktionen hinzufügen

Grundlagen

Wie in der Einleitung beschrieben, besitzt Python ein riesiges Repertoire von Funktionen und Klassen. Diese Bibliothek ist in "Module" unterteilt, wobei sich in jedem Modul Funktionalitäten zu einem ganz bestimmten Thema befinden. Einige Module, welche sehr oft benötigt werden, sind immer in der Installation enthalten. Alle anderen Module müssen auf dem Computer nachträglich hinzugefügt werden.

Bereitstellung des Moduls

Befindet sich das Modul nicht im Ordner /usr/lib/python2.6 oder einem seiner Unterordner, so muss es zunächst installiert werden. Dazu installiert [1] man das Paket mit dem Namen

  • python-Modulname (Paket liegt möglicherweise in universe [2])

oder

  • python2.6-Modulname (Paket liegt möglicherweise in universe [2])

Nach der Installation kann man das Modul im Programm importieren durch

1
import modul

Nun sind die Objekte des Moduls aufrufbar mittels

1
modul.objekt

Python 3

Seit Anfang 2009 ist Python 3, auch Python 3000 oder Python 3k, verfügbar. In Python 3 hat es keine "grundlegenden" Veränderungen der Sprache gegeben, allerdings wurden viele kleine "Unzulänglichkeiten" und "Ungereimtheiten" von Python 2.x beseitigt. Dies bedingt aber, dass Python 3 Code nicht unter 2.x läuft - und umgekehrt.

Mit dem im Juli 2010 erschienen Python 2.7 ist die letzte Version der 2.x Serie erschienen. Dies soll noch über einen längeren Zeitraum unterstützt werden, Details findet man in den Release Notes 🇬🇧. Außerdem sind weitere Änderung der Version 3 nach 2.7 zurück portiert worden, um einen "sanften" Übergang zu erhalten.

Eine Übersicht über alle Neuerungen in Python 3 findet man hier 🇬🇧.

Python 3.x ist ab Ubuntu 8.10 Intrepid über das Paket

  • python3 (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install python3 

Oder mit apturl installieren, Link: apt://python3

installierbar.

Python 3.x ist nicht kompatibel zu Python 2.x, daher muss /usr/bin/python weiterhin das standardmäßig installierte Python 2.x bleiben, damit die mit Ubuntu gelieferten Python-Programme funktionieren. Python 3.x ist nach den installation des betreffenden Pakets als /usr/bin/python3 verfügbar.

Das größte "Problem" von Python 3 ist, dass eine Reihe von Modulen und auch "große" Anwendungen noch nicht auf Python 3 portiert werden sind, weshalb Python 2.x noch vielerorts - inklusive Ubuntu - im Einsatz ist. Die Frage, ob man lieber in Python 2 oder 3 programmieren wird auf der Seite Python 2 or 3 🇬🇧 im Python-Wiki ausführlich erläutert.

intern

  • Python Setuptools - Python Pakete aus dem Python Package Index installieren

  • virtualenv - mehrere (virtuelle) Python-Umgebungen parallel installieren

extern

Diese Revision wurde am 8. November 2010 11:48 von bravedave erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Programmierung, Python