Jump to content

[Python] Versionsfrage


Recommended Posts

Hallo Team und Pythonfachleute,

ich habe beschlossen die Programmierung in Python durchzuführen und die aktuelle Version 3.2.3 installiert. Die Tinkerforge Source habe ich einfach ins lib-Verzeichnis kopiert. Starte ich ein Programm (z.B. das temperatur_simple.py) bekomme ich Fehlermeldungen:

Exception in thread Thread-1:
Traceback (most recent call last):
  File "C:\Python32\lib\threading.py", line 740, in _bootstrap_inner
    self.run()
  File "C:\Python32\lib\threading.py", line 693, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Python32\lib\tinkerforge\ip_connection.py", line 175, in recv_loop
    pending_data += data
TypeError: Can't convert 'bytes' object to str implicitly

Traceback (most recent call last):
  File "C:\Python32\blank1.py", line 37, in <module>
    ipcon.add_device(master) # Add device to IP connection
  File "C:\Python32\lib\tinkerforge\ip_connection.py", line 402, in add_device
    raise Error(Error.TIMEOUT, msg)
tinkerforge.ip_connection.Error: -1: Could not add device 9Jk6hqGy2iT, timeout
>>> 

Das witzige ist - ich habe nach langem Probieren Python 2.7.3 installiert - das Programm läuft nahezu unverändert unter 2.7.3 ohne Fehlermeldungen. Unter nahezu meine ich die Syntaxunterschiede a la raw_input <-> input.

Was muss ich mit den Bindings machen, um sie unter 3.2.3 zum Laufen zu bringen.

Grüße Thomas

Link zu diesem Kommentar
Share on other sites

Das kommt daher, dass in Python 3 manche Funktionen die vorher einen str Objekt zurückgegeben haben jetzt ein bytes Objekt zurückgeben und bytes und str nickt direkt kompatible sind. Du hast da eine Stelle gefunden wo wir das noch nicht richtig behandeln.

 

Zum testen hab ich eine korrigierte Version der ip_connection.py angehängt.

ip_connection.py

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...