Installationsproblem QAxContainer

Probleme bei der Installation?
Antworten
Brandenburger
User
Beiträge: 16
Registriert: Donnerstag 3. Februar 2022, 09:32

Hallo Allerseits,

ich bin neu hier und hoffe, dass ich im richtigen Forenbereich bin.

Nach Jahren der Programmierabstinenz bin ich nun dabei, mich Python zu nähern. Bisher bin ich sehr zufrieden, ja fast begeistert hinsichtlich der Möglichkeiten der Entwicklungsumgebung. Ich habe Anaconda mit Python 3.9.7 installiert, PYQT 5 inklusive, das Ganze unter Windows 10. Bisher habe ich einige Testanwendungen geschrieben und alles lief (nach anfänglicher Holprigkeit) zufriedenstellend.

Ich muss mich der Sache nähern, da ich in absehbarer Zeit eine Anwendung für meine berufliche Tätigkeit entwickeln will/muss.

Nun wollte ich bei einer Anwendung ActiveX einbinden, stoße dabei jedoch auf größere Probleme.
Die Library ist wohl standardmäßig nicht vorhanden. Nach mehrmaligen Update-Versuchen lief am Ende immer Spyder nicht mehr, so dass ich Anaconda immer wieder neu installieren musste. Aber es war keine ActiveX-Unterstützung da.

Kann man das Package nachinstallieren und wenn ja, wie?
Kann man ohne weiteres auch PYQt6 benutzen?

Ich hoffe, dass die Problembeschreibung ausreichen ist.

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

Wenn du gerade erst anfaengst, dann waere es vielleicht noch nicht zu spaet, umzuschwenken, und eine Windows-native Plattform wie zB C# zu nutzen. Denn da wirst du deutlich mehr Freude mit der Integration haben.

Muss es trotzdem Python sein, stellt sich die Frage: wie hast du win32com installiert? Mit conda sollte es so gehen: https://anaconda.org/anaconda/pywin32 - kA wie du dir damit dann Spyder zerschossen hast.
Brandenburger
User
Beiträge: 16
Registriert: Donnerstag 3. Februar 2022, 09:32

Hallo _deets_,

danke für die schnelle Antwort.
Naja, es MUSS nicht unbedingt Python sein. Aber ich möchte mich in Python einarbeiten. In einem früheren Leben habe ich C, ein wenig Delphi und dann C++ genutzt, aber das ist lange her. Ich habe so viel vergessen, dass es im Grunde nicht mehr darauf ankommt, welche Sprache ich nutze, da ich mir sowieso alles neu erarbeiten muss.

Habe eben pywin32 installiert und siehe da, nun geht auch Spyder noch. :-)))
Keine Ahnung, woran es gestern lag...

Jetzt wollte ich aber auch noch den PyQt5.QAxContainer nutzen und dabei kam es dann spätestens immer zu Problemen.
Irgend etwas hat bei mir bei der Installation nicht hingehauen.
Immer nach dem Update ging nichts mehr.
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ja, habe erst spaeter den Betreff gesehen, QAxContainer soll es sein. Gute Frage, warum das nicht vorhanden ist. Ich haette erwartet, dass es da ist. Was genau hast du denn da installiert?
Brandenburger
User
Beiträge: 16
Registriert: Donnerstag 3. Februar 2022, 09:32

Ich habe PyQt5 upgedatet und dann hatte ich noch pywin32 geladen/installiert.
Danach immer noch kein QAxContainer vorhanden. In der Library (im Anaconda-Dir) war auch nichts zu finden.
Habe mir schon im Web die Finger wund gesucht, aber noch keine Lösung gefunden.
Immer wenn ich einen Import auf QAxContainer setze, dann gibt es den Fehler, dass das Modul nicht vorhanden ist.
Wie auch, da ist ja nichts im Anaconda-Dir.
Kann es sein, dass das Modul erst im PyQt6 vorhanden ist?
Kann ich PyQt6 einfach so einbinden?
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Noe, das gibt es auch fuer PyQt5. Wenn kannst du mal probieren, statt anaconda ein Standard-Python zu nehmen, und PyQt5 via pip installieren. Vielleicht haben die anaconda-Leute da was abgeknapst, keine Ahnung.
Brandenburger
User
Beiträge: 16
Registriert: Donnerstag 3. Februar 2022, 09:32

O.K., werde ich mal ausprobieren.
Danke für den Tip.
Brandenburger
User
Beiträge: 16
Registriert: Donnerstag 3. Februar 2022, 09:32

So, habe nun noch einmal nachgeschaut:

unter \Anaconda3\Lib\site-packages\PyQt5\uic\widget-plugins sind die QAxContainer-Dateien (*.py)
und unter \Anaconda3\sip\PyQt5\QAxContainer die sip-Dateien vorhanden.

Aber immer wenn ich einen
from PyQt5.QAxContainer import QAxWidget

aufrufe, kommt der Fehler:

ModuleNotFoundError: No module named 'PyQt5.QAxContainer'

was mache ich da falsch???
Benutzeravatar
sparrow
User
Beiträge: 4187
Registriert: Freitag 17. April 2009, 10:28

Du liest die Dokumentation nicht.
Und werwendest auch nicht help(PyQt5) im interaktiven Modus des Interpreters.
Beides erste Anlaufstellen, wenn man wissen möchte, wie etwas richtig geschrieben wird. Denn ob es ein "x" oder ein "X" ist - das ist schon wichtig.
Brandenburger
User
Beiträge: 16
Registriert: Donnerstag 3. Februar 2022, 09:32

Also ich habe eben alles ausprobiert:
QAXContainer, qaxcontainer, QAxContainer...
immer der gleiche Fehler.
Also die Schreibweise (wenn es case-sensitive ist) sollte nicht das Problem sein.

Kann es sein, dass ich bei Spyder keine Hilfe zu den gelinkten Modulen bekomme?
Brandenburger
User
Beiträge: 16
Registriert: Donnerstag 3. Februar 2022, 09:32

Im PyQt5 Reference Guide (https://doc.bccnsoft.com/docs/PyQt5/) ist es auch in meiner Schreibweise angegeben.
Ich finde den Fehler einfach nicht.
Benutzeravatar
sparrow
User
Beiträge: 4187
Registriert: Freitag 17. April 2009, 10:28

Ja, Modulnamen sind case sensitive.

Was sagt denn help(PyQt5) über die enthaltenten Module?

Code: Alles auswählen

from PyQt5.QAxContainer import QAxWidget
funktioniert mit einem über pip installierten PyQt5 problemlos.
Brandenburger
User
Beiträge: 16
Registriert: Donnerstag 3. Februar 2022, 09:32

So, jetzt scheint es zu laufen.
Ich bekomme keine Fehlermeldung mehr.
Habe PyQt5 neu mit pip installieren wollen, da gab eine Fehlermeldung, dass Spyder nicht kompatibel wäre.
Danach lief Spyder wieder einmal nicht mehr.
Also habe ich 'pip install spyder' versucht, somit wurden PyQt5 und auch Spyder komplett neu installiert und siehe da, es klappt mit dem Import.

Vielen Dank für die Tips und viele Grüße
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ahhhh. Kann sein, dass Spyder in Qt geschrieben ist. Das wäre eine Erklärung warum das kaputt geht.
Antworten