Python und Bibliothek "wago"

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
spsmatze
User
Beiträge: 3
Registriert: Donnerstag 27. Oktober 2022, 06:35

Hallo Leute,

ich möchte auf WAGO-Controller 8212 per Ethernet zugreifen, um dort globale Variablen bzw. Daten aus den Persistent-Variablen auszulesen.
Das Ganze geht per Ferneinwahl.
Da wurde mir die Bibliothek "wago" empfohlen, die ich auch mittels "pip install wago" installiert habe.
Wenn ich diese imprtieren möchte, kommt folgende Fehlermeldung betreffs einer ebenfalls mit installierten Bibliothek "anyio":
>>> import wago
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "D:\!Python\wago\__init__.py", line 3, in <module>
from .server import Server, open_server
File "D:\!Python\wago\server.py", line 6, in <module>
from anyio.exceptions import ClosedResourceError
ModuleNotFoundError: No module named 'anyio.exceptions'
>>>
Beim anyio scheint etwas zu fehlen. WIe ist das möglich?

Hat hier jemand eine Idee, was hier schief gelaufen sein kann?

M. f. G. und besten Dank im Voraus
spsmatze
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Hast du anyio explizit mit pip installiert? Oder kam das mit dem pip für wago?
Benutzeravatar
noisefloor
User
Beiträge: 4195
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

es fehlt halt das Modul AnyIO.

Normalerweise sollten Module, die anderen Module benötigen, diese automatisch mitinstallieren, weil der Bereitsteller des Moduls es in seinem Modul so definiert hat. Das ist "best practice", aber keine Pflicht und wird auch nicht forciert.

Also in deinem Fall das Modul händisch nachinstallieren und dann schauen, ob es läuft.

Gruß, noisefloor
spsmatze
User
Beiträge: 3
Registriert: Donnerstag 27. Oktober 2022, 06:35

Das Modul wago hat anyio mit installiert.
Aber innerhalb des Moduls anyio scheint dieses anyio.exceptions zu fehlen.
Da liegt ja das Problem.
Ein nochmaliges Nachinstallieren hilft auch nicht!

spsmatze
Benutzeravatar
noisefloor
User
Beiträge: 4195
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

also lt. Doku gibt es die Excpeption in anyio noch, aber wenn ich das richtig verstehe liegen alle Exceptions in anyio, nicht (mehr?) in anyio.exceptions.

Du kannst jetzt entweder selber den Quellcode des Wagu Moduls anpassen und hoffen, dass nicht noch weitere Fehler auftreten. Oder du machst eine Bugreport beim Wagu Projekt.

Gruß, noisefloor
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das Problem wird die Spezifikation der anyio-Abhaengigkeit in wago sein. Die sagt einfach >= 3.2 - https://github.com/M-o-a-T/asyncwago/bl ... tup.py#L16 - installiert also auch ggf. etwas viel zu neues.

Versuch einfach mal pip uninstall anyio, und dann pip install "anyio==3.2". Dann sollte das ein bekannter und funktionierender Zustand sein. Und ein bug-report oder gar PR bei pywago, damit das repariert wird, schadet sicher auch nicht.
spsmatze
User
Beiträge: 3
Registriert: Donnerstag 27. Oktober 2022, 06:35

Ja, ich probier das mit der anyio 3.2 mal aus.
Melde mich dazu dann auch noch einmal.
++++
Nein, hat nicht geholfen!
Wat-Nu?

spsmatze
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Dann musst du dich erst recht mit dem Maintainer auseinandersetzen.
Antworten