Guten Morgen zusammen,
Ich hab hier folgendes Problem, ich entwickle ein kleines Python Skript auf 2 verschiedenen Rechnern, das Skript schicke ich mir dann immer per Email zu.
(Konkret, ich arbeite nach Feierabend zu Hause noch etwas weiter).
Der eine Rechner ist eine Windows-Kiste mit Outlook als Mailclient, der andere eine Linux Kiste (Kubuntu 6.0.6) unt mit KMail.
Ich bekomme immer irgendwelche Probleme, wenn ich die frisch zugestellen Skripte ausführen will, auf der Windows - Kiste zerhauts die Umlaute, auf der Linux Kiste will das Skript erst überhaupt nicht (schwer zu beschreiben, ich bekomme da Fehlermeldung wie ": Command not found, vor dem Doppelpunkt steht aber nie was"), da muss ich per copy/paste erst das ganze Skript erst in ein neues leeres Textfile übertragen und neu speichern, dann geht es wieder.
Liegt ja nahe, dass es irgendwie am Encoding hängt, ich hatte bei beiden Editoren erst iso-8859-15, dann utf-8. Keine Änderung.
Also vermutlich das Encoding des Mailanhangs...
Wie geht ihr denn da vor?
Probleme beim Übertragen eines Skriptes via Mail-Anhang
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Ich nutzte einen SVN Server und verwalte da meine Skripte. Dann kann ich von überall her die neusten Versionen abrufen, bearbeiten und zurück schicken.
Ich hab auch mal angefragt, ob Interesse an einem "SVN Server für alle" besteht, siehe http://www.python-forum.de/topic-7961.html
Als Alternative, nutzte einen Paste Service wie http://paste.pocoo.org Oder schiebe die Daten irgendwo per FTP hin...
Ich hab auch mal angefragt, ob Interesse an einem "SVN Server für alle" besteht, siehe http://www.python-forum.de/topic-7961.html
Als Alternative, nutzte einen Paste Service wie http://paste.pocoo.org Oder schiebe die Daten irgendwo per FTP hin...
-
- User
- Beiträge: 97
- Registriert: Donnerstag 26. Oktober 2006, 15:01
Ja gut, dass mit FTP und SVN oder CVS habe ich mir auch schon gedacht.. nur, es muss doch auch irgendwie so gehen?
Könnte doch in der Praxis sein, dass ich "mal eben" jemanden via Mail ein Python-Skript schicke, was denn?
Könnte doch in der Praxis sein, dass ich "mal eben" jemanden via Mail ein Python-Skript schicke, was denn?
Wie wär's mit dem guten, alten Zipformat um jegliche Plaintext-Anhänge einzupacken?
-
- User
- Beiträge: 97
- Registriert: Donnerstag 26. Oktober 2006, 15:01
Tja, das hatte ich vergessen zu erwähnen, aber das hatte ich eigentlich auch schon versucht.. Eigentlich denn ich grübele gerade darüber nach, ob ich das vielleicht nur "one-way" versucht habe... hmmmm.
Die Idee mit dem Einpacken in eine Archivdatei kam mir natürlich auch gleich zu Anfang, um unabhängig zu sein vom Encoding des MailClients.
Hmmmm, ich spiel das nochmal heute durch!
Die Idee mit dem Einpacken in eine Archivdatei kam mir natürlich auch gleich zu Anfang, um unabhängig zu sein vom Encoding des MailClients.
Hmmmm, ich spiel das nochmal heute durch!
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Das ist IMHO ehr ein Problem Windows <-> Linux... Du solltest am besten als Zeilenenden nur "\n" nutzten, auch unter Windows. Dann muß das Zeichencodierung auf beiden Plattformen gehen... Ich nehme utf-8, wobei es bei mir auch schon mal vorkommt, das Umlaute defekt sind. Aber die kommen eigentlich eh nur in DocStrings vor
-
- User
- Beiträge: 97
- Registriert: Donnerstag 26. Oktober 2006, 15:01
Hmm, du meinst "\r\n" wirkt sich auf das Encoding selber aus?
Würde mich jetzt überraschen, aber möglich ist ja alles.
utf-8 hatte ich auch schon probiert, keine Besserung, aber wie geschrieben, ich vermute das Problem eher bei den MailClients.
Und zu den Umlauten... Also, die kommen doch genug vor, was ist mit den ganzen Menüeinträgen, Buttons usw. die man bei einer deutschsprachigen GUI halt so baut?
Würde mich jetzt überraschen, aber möglich ist ja alles.
utf-8 hatte ich auch schon probiert, keine Besserung, aber wie geschrieben, ich vermute das Problem eher bei den MailClients.
Und zu den Umlauten... Also, die kommen doch genug vor, was ist mit den ganzen Menüeinträgen, Buttons usw. die man bei einer deutschsprachigen GUI halt so baut?
Na Windows erkennt die Zeilenumbrüche von Linux net an. Umgehert glaub ich auch.
Windows: \r\n
Linux: \n
daran liegt das Problem meißtens. Komisch nur, das es bei mir Ubuntu 6.10 --> Windows XP keine Probleme gibt. Könnte daran liegen, das mein FTP-Client das ganze automatisch korrigiert
Aber daran könnte es scheitern. Am Encoding von UTF-8 usw. liegt es eigentlich net (eigene Erfahrung). (Klappt zumindest bei mir meißtens gut )
MfG EnTeQuAk
Windows: \r\n
Linux: \n
daran liegt das Problem meißtens. Komisch nur, das es bei mir Ubuntu 6.10 --> Windows XP keine Probleme gibt. Könnte daran liegen, das mein FTP-Client das ganze automatisch korrigiert
Aber daran könnte es scheitern. Am Encoding von UTF-8 usw. liegt es eigentlich net (eigene Erfahrung). (Klappt zumindest bei mir meißtens gut )
MfG EnTeQuAk
- Rebecca
- User
- Beiträge: 1662
- Registriert: Freitag 3. Februar 2006, 12:28
- Wohnort: DN, Heimat: HB
- Kontaktdaten:
Bei mir unter Linux laufen auch die Wiin-Scripte mit "\n\r", sogar mit utf-8-codierten Umlauten. Die Zeilenumbrueche stoeren erst, wenn man die Datei editieren will. Aber dafuer gibt es ja dos2unix und unix2dos...
Bzgl. encodings: Hast du denn *ueberall* das gleiche encoding engestellt? D.h. im Win-Editor, im Win-Mail-Client, im Linux-Mail-Client und im Linux-Editor?
Bzgl. encodings: Hast du denn *ueberall* das gleiche encoding engestellt? D.h. im Win-Editor, im Win-Mail-Client, im Linux-Mail-Client und im Linux-Editor?
Das stimmt so nicht ganz. Das Windowszeilenende ist '\r\n' und das '\r' stört in Skripten an einer ganz empfindlichen Stelle unter Linux, nämlich in der She-Bang-Zeile. Wenn die wie folgt aussieht: '#!/usr/bin/env python\r\n', dann sucht die Shell nach einem Programm mit dem Namen 'python\r' und findet das natürlich nicht.Rebecca hat geschrieben:Bei mir unter Linux laufen auch die Wiin-Scripte mit "\n\r", sogar mit utf-8-codierten Umlauten. Die Zeilenumbrueche stoeren erst, wenn man die Datei editieren will.
Das erklärt wahrscheinlich die Fehlermeldung vom Fragesteller. Vor dem Doppelpunkt steht nichts, weil das '\r' natürlich ausgegeben wurde und der Rest der Fehlermeldung den Programmnamen überschreibt.
Du scheinst die Skripte mit Windowszeilenenden also nicht über die Shell zu starten.
- Rebecca
- User
- Beiträge: 1662
- Registriert: Freitag 3. Februar 2006, 12:28
- Wohnort: DN, Heimat: HB
- Kontaktdaten:
Ach menno. Erwischt. Ich habe sie aus der Shell mit python meinscript.py gestartet. Jedanfalls scheinen die "\r" den Python-Interpreter nicht zu stoeren.BlackJack hat geschrieben:Du scheinst die Skripte mit Windowszeilenenden also nicht über die Shell zu starten.
-
- User
- Beiträge: 97
- Registriert: Donnerstag 26. Oktober 2006, 15:01
Das mit den Windows-Zeilenenden scheint das eine Phänomen zu erklären... hätte ich auch von selbst drauf kommen können, verdammt!!!!
Mit dem anderen Phänomen schau ich noch mal, ich vermute das ist gegessen wenn ich mir die Datei gepackt zuschicke (Linux->Windows), denn das ist dann doch eher ein Encoding Problem, würde ich vermuten.
Mit dem anderen Phänomen schau ich noch mal, ich vermute das ist gegessen wenn ich mir die Datei gepackt zuschicke (Linux->Windows), denn das ist dann doch eher ein Encoding Problem, würde ich vermuten.