Python Programmdatei in Linux ausführbar machen

Jens Grafe
November 7, 2020 0 Comment
6.457 Views

Eine Programmdatei mit einen in Python geschriebenen Quellcode, zu erkennen an der Dateiendung .py, kann sehr einfach in Linux ausführbar gemacht werden. Dazu wird sich des Shebang bedient. Ein Shebang ist ein Doppelkreuz gefolgt von einem Ausrufungszeichen. Es erinnert an die Angabe eines Dokumenttyps im Kopf einer Datei. Genau dorthin, an den Anfang der Datei wird ein Shebang geschrieben.

Es bewirkt das die in der Datei befindlichen Kommandozeilen inklusive aller Argumente bei Aufruf des Programms ausgeführt wird. Denken wir dabei an das sehr bekannte Programmbeispiel „Hallo Welt“. In der Programmdatei von Python steht als Befehl print (‚Hallo Welt.‘) Wenn nun in der Konsole, der Shell, hinter dem Prompt als Programm python und gleich danach programm.py eingegeben und mit ENTER bestätigt wird, erscheint auf der Konsole „Hallo Welt“.

Pfadangabe zum Python Interpreter

Bei Aufruf des Programms python wurde die Datei programm.py als Argument übergeben. In der Datei steht der Befehl: print („Hallo Welt“), der sofort ausgeführt wurde. Zu erkennen an der Bildschirmausgabe in der Shell. Jedoch wie genau ist die Shebang-Zeile zusammengesetzt? Nach dem Doppelkreuz mit dem Ausrufungszeichen (#!) folgt die Pfadangabe zu dem Speicherort des Python Interpreters. ( Beispiel: #!/usr/bin/python).

Die Programmdatei mit dieser direkten Pfadangabe zum Interpeter mag bei der Ausführung funktionieren, solange sie sich auf dem Computer des Entwicklers befinden. Doch Programme werden auch geschrieben um sie weiterzugeben. Liegt der Python Interpreter beim Anwender, der sich das Programm vom Entwickler holt, auf einen anderen Speicherplatz, in einem anderem Verzeichnis, kann er das Programm nicht ausführen.

Indirekte Pfadangabe in der Shebang Zeile

Es empfiehlt sich demzufolge in der Shebang-Zeile eine Pfadangabe zu schreiben, die unabhängig davon ist, wo sich der Python Interpreter auf dem Rechner dessen befindet, an dem das Programm weitergegeben wird. Ein solche Pfadangabe wird indirekter Pfad genannt. Die indirekte Pfadangabe unter Linux sieht wie folgt aus: #!/usr/bin/env python. Ein Editor der das Schreiben von Python-Code unterstützt und für Linux verfügbar ist, ist Geany.

Vorlage mit Shebang-Zeile

Ist der Editor geöffnet, kann über den Menüeintrag Datei > Neu (Vorlage) eine Vorlage für Python-Code aufgerufen werden die die Shebang-Zeile mit dem indirekten Pfad für Linux enthält.