2013-05-26 13 views
7

Ich ursprünglich in Python IDE auf Windows codiert. Jetzt, als ich meinen Code in eine Datei auf dem Linux-Server eingefügt habe. Jetzt, wenn ich das Skript ausführen, gibt es mir diesen Fehler:: schlechter Interpreter: Keine solche Datei oder Verzeichnis in Python

bad interpreter: No such file or directory

Bitte sagen Sie, wie Sie diesen Fehler beheben.

+0

Könnten Sie die ersten Zeilen des Skripts einfügen? Grundsätzlich wäre es hilfreich zu sehen, was dein #! Linie ist. – Jacinda

+0

Auch kann ein Duplikat sein: http://stackoverflow.com/questions/7434484/python-bad-interpreter-no-such-file-or-directory-when-running-django-admin-p – Jacinda

+0

wahrscheinlich u don ' t haben Python installiert oder nicht im Pfad. – codeScriber

Antwort

23

Wahrscheinlich haben Sie \r\n Zeilenenden, wo \r Wagenrücklauf und \n Newline ist

Das bedeutet, dass die erste Zeile wie diese

#!/usr/bin/env python\r\n 

oder

so
#!/usr/bin/python\r\n 

sein könnte Die Shell versucht, den Befehl python\r

auszuführen
+0

Mir sind keine neuen Versionen von sh/bash/dash/ksh bekannt, die sich so verhalten – KingRadical

+0

Es ist eigentlich der Kernel selbst, der das handhabt, nicht die Shell. Und ja, das ist eine Möglichkeit. – Cairnarvon

+2

+1 Ich bin mir ziemlich sicher, dass dies die Erklärung ist. – tripleee

6

Sie verwenden wahrscheinlich die #!python Hashbang-Konvention, die unter Windows-Benutzern unerklärlich beliebt ist. Linux erwartet dort einen vollständigen Pfad. Verwenden Sie stattdessen entweder #!/usr/bin/python oder (vorzugsweise) #!/usr/bin/env python.

+0

wäre in einigen Fällen vorzuziehen, '#! Python' zu verwenden, weil es Python vom Pfad wegnimmt - z. im Zusammenhang mit einem 'venv' ausgeführt werden. – Blake

Verwandte Themen