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 to comment
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 to comment
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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...