Probleme beim ansprechen der seriellen Schnittstelle

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
erdmulch
User
Beiträge: 230
Registriert: Samstag 17. Juli 2010, 19:50

Hallo zusammen,

habe folgendes Programm ausgeführt um die Serielle Schnittstelle ansprechen zu können:
http://www.hsg-kl.de/faecher/inf/python ... /index.php
dabei kam bei mir folgende Fehlermeldung:

Code: Alles auswählen

>>> import serial
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "serial.py", line 4
SyntaxError: Non-ASCII character '\xc3' in file serial.py on line 4, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
>>> 
Ich benutze übrigens ein Ubuntu System
kann mir jemand sagen was ich falsch mache?
Zuletzt geändert von Anonymous am Sonntag 15. Juli 2012, 16:33, insgesamt 1-mal geändert.
Grund: Code-Tags hinzugefügt
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Klingt erst einmal komisch! Grundsätzlich bekommt man diesen Fehler, wenn im Quellcode (bei Python 2.x) etwas anderes als ein ASCII-Zeichen steht, sofern man im Kopf keinen Encoding-Cookie angegeben hat, etwa in der Art:

Code: Alles auswählen

# coding: utf-8
Speichert man die Datei UTF-8 encodiert, kann man dann Umlaute in Stringliteralen und Kommentaren verwenden.

Mir kommt es nur komisch vor, dass so ein Fehler tatsächlich in so einem Modul auftaucht...

Wie hast Du das denn installiert? Und welche Version genau nutzt Du? Auf der HP zu pyserial steht etwas, von einem Ubuntu-Paket - hast Du dieses installiert?

Wir brauchen da mal mehr Details.

Alternativ schau doch mal in `serial.py` rein und gucke, ob in Zeile 4 irgend ein Nicht-ASCII-Zeichen steht!
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
BlackJack

@erdmulch: In der Fehlermeldung ist eine URL enthalten: Durchlesen und verstehen und dann den Fehler beheben.

Und das nächste Problem ist dann das Du *Dein* Modul vielleicht nicht `serial` nennen solltest, wenn Du da ein anderes `serial`-Modul importieren möchtest. ;-)
erdmulch
User
Beiträge: 230
Registriert: Samstag 17. Juli 2010, 19:50

ok, das Problem mit der unglücklichen Klassenbezeichnung hab ich eingesehen und gelöst.
wenn ich jetzt den import unter der Python konsole durchführe funktioniert alles so wie es sollte.

nun wollte ich diese Funktion in eclipse einbinden

Code: Alles auswählen

def test():
    import serial
    s=serial.Serial(0)
    s.setRTS(0)
    s.setRTS(1) 

    s.close() # Schnittstelle schließen

test()
leider kommt nun folgende Meldung:
syntaxError: Non-ASCII character '\x3' in file home/peter/schnittstelle.py

ich benutze übrigens Python 2.6
Zuletzt geändert von Anonymous am Sonntag 15. Juli 2012, 16:32, insgesamt 1-mal geändert.
Grund: Code-Tags hinzugefügt
lunar

@erdmulch: Wie bereits gesagt:
BlackJack hat geschrieben:@erdmulch: In der Fehlermeldung ist eine URL enthalten: Durchlesen und verstehen und dann den Fehler beheben.
erdmulch
User
Beiträge: 230
Registriert: Samstag 17. Juli 2010, 19:50

ich kappier nicht warum er irgendwas an der codierung rummault, da ich nie ein sonderzeiche sende bzw. empfange.
kannst mir das erklären?
BlackJack

@erdmulch: Es geht nicht um das senden oder empfangen sondern den Quelltext selbst. Wenn Du da etwas ausserhalb von ASCII drin hast, dann musst Du einen speziellen Kommentar mit der Kodierung angeben.
erdmulch
User
Beiträge: 230
Registriert: Samstag 17. Juli 2010, 19:50

ach jetzt hab ich es gesehen...
mein Problem war, dass ich bei einem Kommentar das wort "schließen" verwendet hatte!
hab immer nur den code angeschaut.

aber vielen Dank für eure Hilfe
Antworten