• Zur Hauptnavigation springen
  • Skip to main content
  • Zur Hauptsidebar springen
  • Zur Fußzeile springen
Thx Cool

Thx Cool

  • Softwareentwicklung
  • SEO
  • Content Marketing
  • Hosting
  • Beratung
  • Bibliothek
    • WordPress
    • Genesis
    • MacOS
    • Linux
    • Python
    • Magento
    • Sicherheit
    • SEO

Python Script ausführbar machen

21. März 2021 von Kai Hagemeister

Python Script ausführen. Ganz ohne Aufruf des Interpreters. Einfach nur das Script aufrufen.

Du hast Dein erstes Python Script geschrieben und fragst Dich nun, ob Du es nicht einfach direkt aufrufen kannst, ohne es via Parameter an den Python Interpreter zu übergeben. Also statt python my_amazing_program.py einfach my_amazing_program.py im Terminal aufrufen.

Klar geht das. Und zwar in drei Schritten. Im ersten Schritt musst Du Dein Python Script ausführbar machen. Das ist unter Linux und MacOS ganz einfach. Du öffnest das Terminal. Unter MacOS findest Du das unter /Applications/utilities/, deutsch /Anwendungen/Werkzeuge/. Im Terminal wechselst Du in das Verzeichnis, in dem Dein Script liegt. Liegt es beispielsweise in Deinem Home-Verzeichnis in einem Ordner „python“, würdest Du so dahin gelangen:

cd ~/python

Mit dem Aufruf chmod 755 my_amazing_program.py machst Du Dein Script ausführbar. Der erste Schritt ist getan. Im zweiten Schritt musst Du Deinem Terminal bzw. Deiner Shell mitteilen, wie es Dein Programm ausführen kann. Du schreibst also in Dein Python Script den Python Interpreter hinein. Und zwar den Pfad zum Interpreter. Öffne also Dein Script und füge ganz am Anfang folgende Zeile hinzu:

#!/Library/Frameworks/Python.framework/Versions/3.9/bin/python3

Natürlich musst Du den Pfad mit dem Pfad zu Deinem Python Interpreter ersetzen. Wie Du den herausfindest? Da gibt es wieder mehrere Wege. Der wohl einfachste Weg ist es, im Terminal which python3 einzugeben. Der Aufruf liefert Dir den gesamten Pfad, den Du einfach oben ersetzt. Alternativ kannst Du den Pfad über ein selbst geschriebenes Script herausfinden.

import sys
print(sys.executable)

Oder Du nutzt den Aufruf type python3. Last but not least, kannst Du auch einfach in Deine .bash_profile hineinschauen. Die Wahrscheinlichkeit ist hoch, dass bei der Installation der Pfad in Deiner bash_profile gesetzt wurde. Auf diese Datei kommen wir auch gleich wieder zurück.

Nach der Änderung speicherst Du Dein Python Script. Trotzdem wirst Du es noch nicht ohne weiteres ausführen können. Für einen Aufruf müsstest Du Deinem Terminal noch mitteilen, dass es im aktuellen Verzeichnis nach ausführbaren Dateien Ausschau halten soll. Tust Du das nicht, musst Du das beim Aufruf machen. Der würde dann folgend aussehen:

./my_amazing_program.py

Du möchtest aber einfach das Programm aufrufen. Im besten Fall so:

my_amazing_program.py

Dazu bedarf es eines letzten Schrittes. In Deinem Home-Verzeichnis liegt eine versteckte Konfigurationsdatei. Die .bash_profile. Existiert sie nicht, dann legst Du sie einfach an. Ein Aufruf mit dem Editor vim würde folgend aussehen:

vim ~/.bash_profile

Nun, der Editor vim ist nicht der angenehmste, wenn man als Neuling auf ihn stösst. Du kannst beispielsweise nicht einfach loslegen und schreiben. Zuerst musst Du vom ESC-Mode zum Insert-Mode wechseln. Das ist allerdings nicht wirklich schwierig. Taste „i“ drücken und Du befindest Dich im Insert-Mode. Jetzt erweitern wir den Pfad in der .bash_profile.

export PATH=.:$PATH

Mit dieser Zeile teilst Du Deinem Terminal mit, dass es im aktuellen Verzeichnis, in dem Du gerade bist, nach ausführbaren Dateien suchen soll. So, das speicherst Du jetzt. Mit vim drückst Du die ESC-Taste und danach :wq

Mit ESC kommst Du in den ESC-Mode. :wq speichert die Datei und schliesst den Editor.
Noch mit dem Aufruf source ausführen:

source ~/.bash_profile

Jetzt kannst Du in das Verzeichnis Deines Python Scriptes wechseln und es direkt aufrufen:

my_amazin_program.py

Bei verschiedenen Linux-Distributionen werden Deine Einträge beim nächsten Systemstart nicht geladen. Sprich die .bash_profile wird nicht ausgeführt. Das liegt daran, dass .Bash_profile nur in einer Login-Shell geladen wird, nicht wenn Du sie in X startest. In diesem Fall schreibst Du den Pfad und das Alias in Deine .bashrc.

Meist ist es in dem Fall so, dass die .bash_profile die bashrc lädt, jedoch nicht vice versa.

Für zukünftige Scripte kannst Du Dir die letzten Schritte sparen. Sie brauchst Du dann nur noch ausführbar zu machen und den Interpreter in der ersten Zeile des Scriptes bekanntgeben. So wie in den ersten Schritten beschrieben.

Kategorie: Python

Über Kai Hagemeister

Studium der Biologie. Anschliessendes Studium der Informatik. Seit 2009 betreibe ich mit meiner Familie einen kleinen Hof in den Thüringer Bergen. Ein Blog begleitet unsere Arbeit auf dem Berghof.

Leser-Interaktionen

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Haupt-Sidebar

Bibliothek

  • Blog (2)
  • Linux (9)
  • MacOS (8)
    • Python (1)
  • Magento (5)
  • Netzwerk (2)
  • SEO (2)
  • Sicherheit (5)
  • Wordpress (16)
    • Genesis (5)

Neueste Beiträge

  • SIP deaktivieren
  • Firefox verbindet sich zu Cloudfront und Amazon
  • apsd Prozess unter MacOS deaktivieren
  • Firefox lässt sich nicht mehr starten
  • Wortmann Terra mobile kein AHCI

Lass Dir eine coole Webseite erstellen

THX bietet Dir alles was Du Dir für Deinen erfolgreichen Auftritt im Internet wünschst.

Kontakt aufnehmen
hosting

Lass Dir Deine coole Webseite von THX erstellen

Kontakt

Footer

Kontakt

  • Webseite
  • Email
  • Telephone

Navigation

  • Softwareentwicklung
  • SEO
  • Content Marketing
  • Hosting
  • Beratung
  • Blog

THX.cool

  • Impressum
  • Datenschutz
  • Cookie-Richtlinie (EU)

Newsletter

Copyright © 2023 Kai Hagemeister THX.cool

Cookie-Zustimmung verwalten
Wir verwenden Cookies, um unsere Website und unseren Service zu optimieren.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Anbieter verwalten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}