Hallo zusammen,
könnt ihr mir vielleicht helfen: Ich entwickle meine Python-Skripte aktuell in Notepad++ unter Windows und stelle dort immer Line Breaks "Linux (LF)" ein und als Encoding "UTF-8 ohne BOM". Wenn ich die Dateien per WinScp aber auf meinen Raspberry Pi mit Raspbian schiebe, dann funktionieren die Skripte nicht.
Teilweise sind Zeilen nach oben in die vorherige gezogen, aber selbst wenn ich das anpasse funktionieren sie nicht und ich sehe keinen Unterschied in der Formatierung. Habt ihr Tipps für mich, was ich alles in Notepad++ einstellen muss, um darauf sinnvoll Python-Skripte für meinen Raspberry entwickeln zu können?
Auf meinem Laptop kann ich leider keine echte IDE installieren, da Geschäftslaptop und den würde ich gerne nutzen, da der PC fast immer aus bleibt.
Vielen Dank und viele Grüße
Dirk
Notepad++ für Linux-Entwicklung konfigurieren
@dirk1312: das sollte eigentlich kein Problem des Editors sein. Hast Du mal unter View -> Show Symbols -> Show All Characters eingeschaltet, dann müßtest Du an den betreffenden Stellen ja sehen, was da an unsichtbaren Zeichen steht.
Ansonsten darauf achten, dass immer mit Leerzeichen eingerückt wird und keine Tabs in der Datei sind.
Ansonsten darauf achten, dass immer mit Leerzeichen eingerückt wird und keine Tabs in der Datei sind.
Hallo Sirius3,
vielen Dank für deine Antwort.
Show All Characters habe ich aktiviert, genau wie die Verwendung von Leerzeichen anstatt Tabs (ich mache auch einiges mit YAML-Dateien, deshalb war das schon so).
Grundsätzlich sieht die Datei für mich gut aus. Deshalb wundert es mich auch etwas. Dass WinScp noch etwas mit den Dateien macht denke ich auch nicht. Ich muss mir die Dateien nochmal genauer anschauen.
Viele Grüße
Dirk
vielen Dank für deine Antwort.
Show All Characters habe ich aktiviert, genau wie die Verwendung von Leerzeichen anstatt Tabs (ich mache auch einiges mit YAML-Dateien, deshalb war das schon so).
Grundsätzlich sieht die Datei für mich gut aus. Deshalb wundert es mich auch etwas. Dass WinScp noch etwas mit den Dateien macht denke ich auch nicht. Ich muss mir die Dateien nochmal genauer anschauen.
Viele Grüße
Dirk
Du könntest mal schauen, was 'file' unter Linux zu deinem Skript sagt.
Wenn du genauer beschreiben kannst, was (nicht) passiert oder welcher Fehler kommt, kann man vielleicht auch weiterhelfen. Ggf. kannst du dein Skript auch mal durch "dos2unix" jagen (das macht sowas ähnliches wie mein sed Beispiel oben, aber robuster), falls du vermutest, dass Notepad++ nicht richtig konvertiert.
Code: Alles auswählen
$ file test.py
test.py: Python script, UTF-8 Unicode (with BOM) text executable, with CRLF line terminators
$ ./test.py
./test.py: Zeile 1: #!/usr/bin/env: Datei oder Verzeichnis nicht gefunden
./test.py: Zeile 2: Syntaxfehler beim unerwarteten Wort `"…"'
'/test.py: Zeile 2: `print("…")
$ sed -i 's/^\xEF\xBB\xBF//' test.py ; sed -i 's/\r//g' test.py
$ file test.py
test.py: Python script, UTF-8 Unicode text executable
$ ./test.py
…
Guten Morgen,
ich bin gestern endlich mal dazu gekommen, meine Skripte lokal zu bearbeiten und dann auf den Pi zu spielen.
Wenn ich dann ein
darauf ausführe und anschließend
aufrufe bekomme ich angezeigt
Komischerweise funktioniert das Skript auch. Ich muss nochmal das heraus kramen, das die Probleme gemacht hat - wobei ich gestern den Ordner (trotz längeren Suchens) nicht mehr gefunden habe, in dem es liegt. :/
Vielen Dank und viele Grüße
Dirk
ich bin gestern endlich mal dazu gekommen, meine Skripte lokal zu bearbeiten und dann auf den Pi zu spielen.
Wenn ich dann ein
Code: Alles auswählen
chmod u+x
darauf ausführe und anschließend
Code: Alles auswählen
file my_local_created_file.py
Code: Alles auswählen
my_local_created_file.py: Python script, ASCII executable
Vielen Dank und viele Grüße
Dirk