Wie kann ich mein python-Skript aus dem Terminal in Mac OS X ausführen, ohne den vollständigen Pfad eingeben zu müssen?

Ich bin auf Mac OS 10.6 Snow Leopard und ich versuche, ein Verzeichnis zu meiner PATH Variable hinzuzufügen, damit ich ein kleines Skript ausführen kann, das ich gerade geschrieben habe: python alarm.py an der Terminalaufforderung.

Ich legte den Pfad in meine .profile Datei und es scheint zu zeigen, wenn ich Echo $ PATH, aber Python noch nicht finden können, Skript das, was ich in diesem Verzeichnis gesetzt haben.

Hier ist der Inhalt meiner .profile-Datei in meinem Home-Verzeichnis:

~ toby$ vim .profile export PATH=/Users/tobylieven/Documents/my_scripts:$PATH 

Hier ist die Ausgabe von Echo $ PATH, wo alles gut scheint:

 ~ toby$ echo $PATH /Users/tobylieven/Documents/my_scripts:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin 

Hier ist das Skript, das ich versuche zu laufen:

 ~ toby$ ls /Users/tobylieven/Documents/my_scripts -rwxrwxrwx@ 1 tobylieven staff 276 17 Jan 21:17 alarm.py 

Hier ist der Befehl, den ich versuche zu verwenden, um das Skript laufen und die Fehlermeldung, die ich bekomme stattdessen:

 ~ toby$ python alarm.py python: can't open file 'alarm.py': [Errno 2] No such file or directory 

Wenn jemand eine Idee hat, was ich falsch machen könnte, wäre das toll. Danke vielmals.

4 Solutions collect form web for “Wie kann ich mein python-Skript aus dem Terminal in Mac OS X ausführen, ohne den vollständigen Pfad eingeben zu müssen?”

PATH ist nur für ausführbare Dateien, nicht für Python-Skripte. Fügen Sie dem Anfang des Python-Skripts Folgendes hinzu:

 #!/usr/bin/env python 

und Renn

 sudo chmod a+x /Users/tobylieven/Documents/my_scripts/alarm.py 

Dann kannst du einfach alarm.py , um dein Programm auszuführen.

Ändere alarm.py, um einzuschließen:

 #!/bin/python 

Als die erste Zeile in der Datei.

(Oder / usr / bin / python, je nachdem, wo python-interpreter befindet.Sie ​​können dies herausfinden, indem Sie eingeben: which python im Terminal.)

Sie können dann einfach alarm.py statt python alarm.py .

z.B:

 ~ toby$ alarm.py 

Und Phihag, der mich um ein paar Sekunden geschlagen hat, ist richtig, du musst Execute-Berechtigungen (via chmod) zu alarm.py hinzufügen.

Sie müssen die Python-spezifische Pfadvariable ändern: PYTHONPATH.

Damit:

 export PYTHONPATH=/Users/tobylieven/Documents/my_scripts 

Sollten Sie arbeiten.

Siehe: Python-Modul Suchpfad

Etwas von Interesse, dass ich wirklich mit OS X aus dem Fenster kämpfte, ist, dass Sie es sehr schwer, das Verzeichnis Ihrer aktuellen Skript zu bekommen.

Ich habe das gefunden.

 #! /bin/zsh cd "${0:h}" 

Jetzt könntest du eine Python-Datei relativ zum ausgeführten Skript ausführen, anstatt den genauen Pfad zu kennen, wo deine Python-Datei ist. Dies könnte oder könnte nicht helfen, aber ich benutze diese viel, um meine Skripte und .command Dateien besser zu machen.

  • Wie automatisiert man das Senden von Dateien über das Netzwerk mit python?
  • Python-Tupel Sortierung basierend auf letztem Element
  • Apt wie Spalte Ausgabe - Python-Bibliothek
  • Druckfarben im Python-Terminal
  • Sichere Fluchtfunktion für Terminalausgang
  • Halten Sie stdin Linie oben oder unten des Terminalbildschirms
  • DatabaseError: table OmniCloud_App_user hat keine Spalte mit dem Namen username
  • Speicherleck beim Ausführen von Python im Mac OS Terminal
  • Wie man ein Scrolling-Menü in Python-Flüche macht
  • Terminal, das nach dem Ausführen des Python-Skripts (keine neuen Zeilen) angezeigt wird
  • Der Termeingang kann nicht mit Termios.TIOCSTI gefälscht werden
  • Python ist die beste Programmiersprache der Welt.