Hallo Miteinander,
Ich hoffe Ihr hattet ein großartiges Weihnachtsfest! (In der Smilies-Bar fehlt der Weihnachtsmann schade....)
jetzt zum Thema: Ich möchte einen selbstgebackenen Code auf dem Raspberry Pi im Autostart ausführen.
Ich habe schon Crontab, runlevel und Init_d ausprobiert und jetzt festgestellt, dass die shebang auf meinem script nicht funktioniert.
Das Problem: Mein Code läuft auf der IDE Shell Super genau wie "Blink.py" ein Vierzeilen Code um eine LED am GPIO Blinken zu lassen.
Beide Codes haben den Shebang: #!/usr/bin/python3 und chmod a+x und stehen im selben Verzeichnis.
Blink lässt sich aufrufen, mein Code aber, wird mit ":Defekter Interpreter : Datei oder Verzeichnis nicht gefunden" quittiert.
Bei dem Shebang #!/usr/bin/env python3 kommt die Meldung ": Datei oder Verzeichnis nicht gefunden".
Weiß jemand wo der Haken stecken könnte ? :K
Gruß peter
Shebang die 2te
-
BlackJack
@zerstep: Vielleicht Windows-Zeilenenden oder UTF-8 kodiert mit „byte order mark” (BOM) gespeichert?
@ BlackJack,
Danke, dass Du so schnell geantwortet hast.
)) Gestern dachte ich, antwortet eh keiner mehr.
Das ist eine Idee-
Blink.py habe ich komplett auf dem Raspberry geschrieben. - Also UTF-8.
Meinen Problemcode (mtcp.py) habe ich zuerst auf einem Windows-Rechner mit der Umgebung PyCharm erstellt, aber seit dem Kopieren auf den Raspi, habe ich schon mehrmals Änderungen vorgenommen also auch schon mehrfach mit der IDLE3 gespeichert.
Glaubst Du ich muss den Code im Raspi neu eingeben?
Ich habe gedacht, ich hätte ein Modul geladen, dass den eigenständigen Aufruf des Codes verhindert gibt es sowas?
Gruß Peter
Danke, dass Du so schnell geantwortet hast.
Das ist eine Idee-
Blink.py habe ich komplett auf dem Raspberry geschrieben. - Also UTF-8.
Meinen Problemcode (mtcp.py) habe ich zuerst auf einem Windows-Rechner mit der Umgebung PyCharm erstellt, aber seit dem Kopieren auf den Raspi, habe ich schon mehrmals Änderungen vorgenommen also auch schon mehrfach mit der IDLE3 gespeichert.
Glaubst Du ich muss den Code im Raspi neu eingeben?
Ich habe gedacht, ich hätte ein Modul geladen, dass den eigenständigen Aufruf des Codes verhindert gibt es sowas?
Gruß Peter
@zerstep: es geht um die unsichtbaren Zeichen, die von Editoren ignoriert, vom System aber interpretiert werden. In der Windowswelt ist ein Zeilenumbruch standardmäßig zwei Zeichen lang '\r\n', in der Unixwelt dagegen nur eins '\n'. Die erste Zeile in Deinem Programm '#!/usr/bin/python3\r\n' veranlaßt das System nach einer Datei 'python3\r' zu suchen, die es natürlich nicht gibt. Um das zu reparieren gibt es dos2unix.
@Sirius3:
Tausend Dank
Der Tipp war goldrichtig. Habe dann dos2unix gegoogelt, und mehrere Möglichkeiten gefunden die überflüssigen Zeichen im Zeilenumbruch zu eliminieren.
Und weil mein Raspi gerade offline ist, habe ich den tr-Befehl nehmen müssen:
Dank ans Forum und einen guten Rutsch.
Gruß Peter
Tausend Dank
Der Tipp war goldrichtig. Habe dann dos2unix gegoogelt, und mehrere Möglichkeiten gefunden die überflüssigen Zeichen im Zeilenumbruch zu eliminieren.
Und weil mein Raspi gerade offline ist, habe ich den tr-Befehl nehmen müssen:
Code: Alles auswählen
tr -d '\r' <input.file> output.fileGruß Peter
