Notepad++ für Linux-Entwicklung konfigurieren

Probleme bei der Installation?
Antworten
dirk1312
User
Beiträge: 19
Registriert: Dienstag 1. November 2016, 18:16

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
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

@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.
dirk1312
User
Beiträge: 19
Registriert: Dienstag 1. November 2016, 18:16

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
nezzcarth
User
Beiträge: 1632
Registriert: Samstag 16. April 2011, 12:47

Du könntest mal schauen, was 'file' unter Linux zu deinem Skript sagt.

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
…
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.
pyseidon
User
Beiträge: 19
Registriert: Donnerstag 24. September 2009, 20:25

Wie überträgst Du die Dateien mit WinSCP, Text oder Binär? Doch WinSCP macht da schon noch was mit den Dateien. Zum Beispiel werden die Zeilenumbrüche hin und her konvertiert.
dirk1312
User
Beiträge: 19
Registriert: Dienstag 1. November 2016, 18:16

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

Code: Alles auswählen

chmod u+x


darauf ausführe und anschließend

Code: Alles auswählen

file my_local_created_file.py
aufrufe bekomme ich angezeigt

Code: Alles auswählen

my_local_created_file.py: Python script, ASCII executable
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
Antworten