2014-06-17 11 views
5

Ich versuche, ein Python-Skript ausführbar zu machen. Das Skript ist ein testHelloWorld.pyMake HelloWorld Python-Skript ausführbar

#!/usr/bin/env python 
print 'Hello World' 

ich es ausführbar gemacht haben von

chmod +x testHelloWorld.py 

$ python testHelloWorld.py prints "Hallo Welt" läuft. Aber $ ./testHelloWorld.py macht nichts. Was fehlt mir hier? Ich verwende ein Mac Os X-Gerät und seine laufende Python 2.7.5.

Ich habe die Antworten für frühere Fragen durchgegangen und habe auf Fehler überprüft, aber immer noch kein Glück. Dies ist eine so ähnliche Position - how to make python script self-executable

+0

also keine Ausgabe und keine Fehler? –

+5

Hmm Ich weiß nicht, was du vermisst, weil ich das gerade repliziert habe und es funktioniert gut. Was passiert, wenn Sie 'which python' und' what env' eingeben. Versuchen Sie auch 'env python' und überprüfen Sie, ob es einen Python-Interpreter für Sie öffnet. – Ewan

+0

Was passiert, wenn Sie die erste Zeile durch' #!/Usr/local/bin/python' ersetzen? – cchristelis

Antwort

6

auf meinem Mac:

#! /usr/bin/python 
print 'Hello world' 

Dann

chmod +x <filename>.py 

und schließlich

$ ./<filename>.py 

mir gibt ...

Hello world 

So ist es nur die erste Zeile. Ändern Sie zu #! /usr/bin/python

+0

Versucht es, immer noch kein Glück. Ich habe es auf einem MacPro und einem Macbook versucht, und habe das gleiche Ergebnis. Wer glaubt, dass es mit dem env Setup zusammenhängen könnte? Wenn ja, was könnte das Problem sein. – deepng

+0

Wirklich ?? Huh. Sie haben also eine Datei namens something.py und darin ist genau das, was ich oben in den ersten Codeabschnitt geschrieben habe. (mit dem/usr/bin/python).Was ist die Ausgabe von 'which python'? – brechmos

+0

$ python /usr/bin/python $ welche env /usr/bin/env – deepng

0

Sie müssen finden, wo sich der Python-Interpreter befindet. Schreibe:

which python 

Für mich befindet sich Python-Interpreter unter/usr/local/bin/python. Also sollte der Hedaer auf der Python-Datei derjenige sein (für mich).

#!/usr/local/bin/python 

Nach dieser Änderung und machen ausführbare eine Python-Datei durch (chmod + x filename.py) Sie in der Lage sein wird, eine Python-Datei durch Schreiben auszuführen:

./filename.py 
-1

auf OS X, versuchen Sie, Ersetzen Sie ".py" Erweiterung durch ".command"! Ich weiß nicht mehr warum, aber es funktioniert für mich.