GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Python – Keine solche Datei oder Verzeichnis, aber ich kann es sehen!?

Ich versuche, ein Python-Skript auf einem kopflosen Raspberry PI mit winSCP auszuführen und erhalte die folgende Fehlermeldung:

Command '"./areadetect_movie_21.py"'
failed with return code 127 and error message
/usr/bin/env: python
: No such file or directory.

Wenn ich versuche, vom Terminal aus zu starten, erhalte ich:

: No such file or directory.

Ich versuche ein ähnliches Python-Skript im selben Verzeichnis, mit demselben Python-Shebang, denselben Berechtigungen und mit demselben Benutzer-pi, und es funktioniert.

Ich mache auch ein ls und ich kann die Datei sehen, also weiß ich nicht, warum sie nicht ausgeführt wird.

Akzeptierte Antwort:

Von AskUbuntu, Antwort von Gilles:

Wenn Sie den Fehler „:No such file or directory“ sehen (mit nichts vor dem Doppelpunkt), bedeutet dies, dass Ihre Shebang-Zeile am Ende einen Wagenrücklauf hat, vermutlich weil sie unter Windows bearbeitet wurde (das CR,LF als Zeilentrenner). Das CR-Zeichen bewirkt, dass der Cursor zum Anfang der Zeile zurückkehrt, nachdem die Shell den Anfang der Nachricht ausgegeben hat, und Sie sehen also nur den Teil nach CR, der den Interpreter-String beendet, der Teil der Fehlermeldung ist.

Entfernen Sie das CR:Die Shebang-Zeile muss ein Unix-Zeilenende haben (nur Zeilenvorschub). Python selbst erlaubt CRLF-Zeilenenden, sodass die CR-Zeichen in anderen Zeilen nicht schaden. Shellskripte hingegen müssen frei von CR-Zeichen sein.

Um die Windows-Zeilenenden zu entfernen, können Sie dos2unix:

verwenden

sudo dos2unix /usr/local/bin/casperjs

oder sed:

sudo sed -i -e ‘s/r$//’ /usr/local/bin/casperjs

Wenn Sie Skripte unter Windows bearbeiten müssen, verwenden Sie einen Editor, der mit Unix-Zeilenenden zurechtkommt (d. h. etwas weniger hirntotes als Notepad), und stellen Sie sicher, dass er so konfiguriert ist, dass er Unix-Zeilenenden schreibt (d. h. nur LF), wenn Sie eine Unix-Datei bearbeiten.


Linux
  1. Mkdir:Verzeichnis kann nicht erstellt werden:Keine solche Datei oder Verzeichnis?

  2. Wie finde ich den Besitzer einer Datei oder eines Verzeichnisses in Python?

  3. Zeigen Sie tabellarische Dateien wie CSV über die Befehlszeile an

  4. Wie kann ich eine Datei/ein Verzeichnis finden, das sich irgendwo in der Linux-Befehlszeile befinden könnte?

  5. Ubuntu - Versuch, Python Couchbase lib zu installieren - libcouchbase/couchbase.h:Keine solche Datei oder Verzeichnis

Warum kann Rm schreibgeschützte Dateien entfernen?

Core-Dump, aber Core-Datei befindet sich nicht im aktuellen Verzeichnis?

Schwerwiegender Fehler:cuda.h:Keine solche Datei oder Verzeichnis

pip install pickle funktioniert nicht - keine solche Datei oder kein Verzeichnis

„x86_64-conda_cos6-linux-gnu-gcc“ kann nicht ausgeführt werden:Keine solche Datei oder dieses Verzeichnis (Pysam-Installation)

conda source deactivate :bash:deactivate:Keine solche Datei oder Verzeichnis