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.

  • Im Mac-Terminal - wie bekomme ich Pfeil-Tastenanschläge von stdin?
  • Wie beendet man Prozess von Python mit pid?
  • Halten Sie stdin Linie oben oder unten des Terminalbildschirms
  • IPython-Konsole kann nicht "backports.shutil_get_terminal_size" finden und wird nicht geladen
  • Wie automatisiert man das Senden von Dateien über das Netzwerk mit python?
  • Python-Sound ("Bell")
  • Python raw_input () Begrenzung mit Mac OS X Terminal?
  • Python importiert mit __init__.py
  • Drucken von Unicode-Zeichen in Stdout in Python druckt falsche Glyphen
  • So zeigen Sie Build-Ergebnisse im OSX-Terminal aus Sublime Text 2 an
  • Wie bekomme ich beim Verbinden mit Remote-Servern den Benutzer? [Python]
  • Python ist die beste Programmiersprache der Welt.