Jump to content

[Python]Wie kann ich die aktuell verwendete API bestimmen


Recommended Posts

Hallo wehnerc.

 

Ich denke damit ist die Tinkerforge-Protokollversion gemeint. Die wurde (vor laengerer zeit) von 1.0 auf 2.0 umgestellt.

Übergang von Protokoll 1.0 auf Protokoll 2.0

Damit kann man feststellen, ob alle Bricks/Bricklets kommunizieren koennen, bzw, eine Firmware haben die das Protokoll unterstuetzt.

 

 

Der Loetkolben

Link to comment
Share on other sites

Loetkolben, das ist nicht die Protokoll-Version. Die kannst du nirgendwo direkt abfragen.

 

wehnerc, das ist nicht die Release-Version der API Bindings. Die Bindings haben keine Funktion ihre Release-Version auszugeben.

 

get_api_version() gibt die API Definitions-Version aus, die die gerade verwendeten API Bindings implementieren. Diese Versionsnummer ist recht nutzlos und die Funktion ist nur aus Gründen der Kompatibilität mit älteren Programmen noch da. Wir hätten sie beim Übergang von Protokoll-Version 1.0 auf 2.0 entfernen sollen, haben die Gelegenheit aber verpasst.

 

Aus der API Definitions-Version kann man die Protokoll-Version ableiten, aber das war nicht deren Zweck. <Nachtrag> Die Protokoll-Version kann man natürlich auch aus der Release-Version der API Bindings und der Firmware ableiten. </Nachtrag>

 

Hier gibt's also nichts zu sehen, bitte weitergehen :)

Link to comment
Share on other sites

Die Bindings bieten keine Möglichkeit aus Python heraus zu bestimmen welche Release-Version es ist.

 

Die Release-Version steht aber am Anfang der Brick und Bricklet Python Dateien in einem Kommentar.

 

Wenn du die Bindings mit über pip installiert hast, dann kann dir pip sagen welchen Release-Version installiert ist.

 

Bleibt die Rückfrage: Warum ist diese Information überhaupt interessant?

Link to comment
Share on other sites

Wenn du die Bindings mit über pip installiert hast, dann kann dir pip sagen welchen Release-Version installiert ist.

 

Bleibt die Rückfrage: Warum ist diese Information überhaupt interessant?

Hab versucht wie in der Dokumentation beschrieben:

http://www.tinkerforge.com/de/doc/Software/API_Bindings_Python.html#api-bindings-python

pip install tinkerforge

zu installieren aber auf dem Mac hat er gesagt das dieses Kommando nicht vorhanden ist.

Zur Frage Warum?

Ich hatte die Bindings vor 1 Jahr installiert und wusste nicht mehr welche Version das war. Nach der Neuinstallation der akt. Version wollte ich das überprüfen

 

Link to comment
Share on other sites

Werd ich mal nachinstallieren.

 

Frage dazu. Habe wie vorher beschrieben die Bindings installiert (aus dem source Verzeichnis) mit

python setup.py install

Damit haben bisher alle Beispielprogramme funktioniert.

Habe ich dann noch

easy_install tinkerforge.egg

ausgeführt funktionieren die Beispiele nicht mehr. Habe auch mal den prefix tinkerforge. bei den Modulen weggelassen aber hat trotzdem nicht funktioniert.

Ich versteh den Zusammenhang zwischen den Beiden noch nicht.

Link to comment
Share on other sites

setup.py und easy_install ist entweder oder. Die nächste Release der Bindings wird das tinkerforge.egg nicht mehr beinhalten, da diese Format mittlerweile deprecated ist und auch nicht gut funktioniert, wie du ja selbst siehst.

 

Es wird in Zukunft nur noch "python setup.py install" und "pip install tinkerforge" geben, als Installationsoptionen. Wobei das ein entweder/oder Auswahl ist. Du muss nicht beides machen. Das geht aus der Dokumentation nicht wirklich gut hervor. Deswegen überarbeite ich die Installationsanleitungen aller Bindings auch gerade.

 

Wenn "python setup.py install" für dich funktioniert, dann bleib dabei. Wenn du das nochmal ausführst sollte aus auch die kaputte easy_install Installation wieder retten können.

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