Was ist eigentlich Python, und wofür kann man es verwenden?

Wenn man sich das erste Mal mit dem Programmieren beschäftigt, steht man direkt vor der Wahl der ersten Programmiersprache, die man erlernen will. Da du auf diesen Artikel geklickt hast, ist Python wohl in deiner engeren Auswahl. Gute Entscheidung! Mit keiner Sprache wirst du so schnell Fortschritte erzielen, wie mit Python. Sie ist relativ einfach zu lernen, und man kann unglaublich viel damit machen. Von Smart-Home über Webanwendungen bis hin zur Data Science ist alles möglich. Aber genug des Lobes. Klären wir erst einmal etwas Grundlegendes: Was ist eigentlich Python?

Mit Python wird oftmals das Programm bezeichnet, dass man sich auf den Rechner installiert, um damit Dateien mit Python-Code (so genannte Python-Scripts) auszuführen. Das ist allerdings so nicht richtig. Python selbst ist nur die Sprache, mit der die Scripts geschrieben werden. Aber warum ist das so? Ganz einfach: Python-Scripts werden von einem Interpreter gelesen und zu einer maschinenlesbaren Version verarbeitet. Im Anschluss arbeitet der Interpreter die einzelnen Aufgaben ab, die das Script vorsieht. Es gibt aber nicht nur einen Interpreter, sondern eine ganze Menge. Der wohl bekannteste ist CPython. Dieser Interpreter ist die Referenz für die Sprache Python. Er ist, wie der Name vermuten lässt, in der Sprache C geschrieben. Wenn man allerdings einen Interpreter auf .NET Basis sucht, wird man bei IronPython fündig. Auch für Java gibt es eine Variante: Jython.

Aber vorerst ist man bei CPython sehr gut aufgehoben. Eine ausführliche Installationsanleitung kann hier nachgelesen werden. Wenn die Installation erledigt ist, hat man einige Werkzeuge an der Hand:

Hier wäre zum einen der interaktive Python Interpreter. Gestartet wird dieser unter Windows über die Eingabeaufforderung mit dem Kommando python. Unter Linux muss die Version mit angegeben werden, daher wird hier das Kommando python3 verwendet. Mit dem interaktiven Interpreter können sehr gut kleinere Versuche gestartet werden, ohne hierfür eine neue Datei für das Skript erstellen zu müssen.

Ein weiteres Programm ist IDLE, eine kleine Entwicklungsumgebung zum Lernen. Hierbei sollte es allerdings auch bleiben. Sobald ein Projekt gestartet wird, das mehr als nur zu Übungszwecken dienen soll, ist eine richtige Entwicklungsumgebung eine große Erleichterung. Die IDLE kann man in der Programmübersicht des jeweiligen Betriebssystems finden.

Einer der wichtigsten Bestandteile der Installation ist der Paketmanager pip. Hiermit können Pakete von PyPI und anderen Quellen heruntergeladen und installiert werden. Um zum Beispiel komfortabel XML-Dateien zu verarbeiten, kann man das Paket lxml installieren. Dies wird unter Windows mit dem Kommando pip install lxml, oder unter Linux mit pip3 install lxml durchgeführt. Sobald ein Paket installiert ist, kann es in einem Script verwendet werden.

Allerdings bringt das Installieren von Paketen auch Probleme mit sich, denn einige Pakete haben Abhängigkeiten zu anderen Paketen. So kann es passieren, das man Paket ‘A’ bereits installiert hat, welches Paket ‘B’ mit einer bestimmten Version benötigt. Nun will man Paket ‘C’ installieren. Das Problem: Paket ‘C’ benötigt Paket ‘B’ in einer anderen Version. Für diese Probleme gibt uns Python venv mit. Hiermit lässt sich für jedes Projekt eine eigenständige Version vom Python-Interpreter erstellen. In diese virtuelle Umgebung kann mit pip jedes Paket installiert werden, allerdings ohne das Problem, dass die Pakete von anderen Projekten für Konflikte sorgen können.

Ist ein Projekt abgeschlossen, will man es oft auch an andere weitergeben. Allerdings ist es durchaus unhandlich, wenn man auf einem fremden Rechner erst noch einen Python-Interpreter installieren muss. Damit dies nicht notwendig ist, kann man mit dem Paket pyinstaller ein Script mit allen benötigten Paketen und dem Python-Interpreter verpacken. Dies kann entweder in einem einzigen .exe File oder einem komprimierbaren Ordner erfolgen. Diese Dateien können dann auf dem Zielrechner ohne einem installierten Python-Interpreter ausgeführt werden.