Mehrere fehlende Python-Module bei Anki-Installation

  • Hallo Zusammen,


    habe vor zwei Tagen Anki (Lernprogramm auf Python basierend) installiert, indem ich von der Website das Archiv heruntergeladen, entpackt und installiert habe.

    Das Problem ist, dass ich unter Raspbian Anki nicht starten kann. Wenn ich im Terminal anki eingegeben habe, kam eine Fehlermeldung, dass ein bestimmtes Python-Modul fehle. Das hab ich dann durch apt install python3-xxxxx nachinstalliert. Als ich probiert hab, Anki zu starten, kam dann die nächste Meldung:

    decorator fehlt. Danach hat noch pyaudio gefehlt. Also hab ich das auch installiert, aber jetzt fehlt PyQt5.QtWebEngineWidgets:

    ImportError: No module named 'PyQt5.QtWebEngineWidgets'

    Leider kann ich das nicht installieren. Dabei hab ich PyQt5 und PyQt5.QtWebKit installiert.


    Woran liegt das?


    Vielen Dank für eure Hilfe im Voraus

    raspberry_sch

  • Das stimmt natürlich. Heißt das, dass ich Anki auf Raspbian überhaupt nicht installieren kann?

    Allerdings kann das eigentlich so nicht sein, da ich Anki ja auch via sudo apt install anki installieren kann.

    Dabei kommt aber die gleiche Fehlermeldung...

  • Die auf der Website angebotenen Pakete laufen nicht unter ARM, hat BTW nichts mit dem OS zu tun - ist halt die CPU-Architektur des OS. Dass sich das Projekt nicht für ARM kompilieren lässt, steht da nicht. Hat ja wohl jemand geschafft.


    Da steht aber auch, dass eine Installation aus den Paketquellen problematisch sein kann, weil die Abhängigkeiten nicht komplett aufgelöst werden können.


    Ebenfalls finden lässt sich das: https://askubuntu.com/question…-pyqt5-qtwebenginewidgets


    Warum du das Paket nicht so einfach installieren kannst und wie du es doch installieren kannst, ist dort in verschiedenen Antworten beschrieben.


    Lesen und suchen - ich dachte immer, das sei so einfach...

    :wink:

  • Auf der Seite war ich auch schon, bloß weiß ich nicht, wo dort stehen soll, wie man das Modul (pyqt5.qtwebengine) doch installieren kann.

  • Steht doch da: Qt samt Python Bindings selbst Kompilieren oder möglicherweise mit

    Code
    1. apt-get install python3-pyqt5.qtwebengine

    Falls dieses Paket mit deinem Raspbian verfügbar ist.

    :wink:

  • apt-get install python3-pyqt5.qtwebengine geht leider nicht:

    Code
    1. pi@raspberrypi:~ $ sudo apt-get install python3-pyqt5.qtwebengine
    2. Paketlisten werden gelesen... Fertig
    3. Abhängigkeitsbaum wird aufgebaut.
    4. Statusinformationen werden eingelesen.... Fertig
    5. Paket python3-pyqt5.qtwebengine ist nicht verfügbar, wird aber von einem anderen Paket
    6. referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
    7. wurde oder nur aus einer anderen Quelle verfügbar ist.
    8. E: Für Paket »python3-pyqt5.qtwebengine« existiert kein Installationskandidat.


    Steht doch da: Qt samt Python Bindings selbst Kompilieren

    Wie geht denn das?

  • Keine Ahnung, hab ich schon länger nicht mehr gemacht... heißer Tipp: Im Internet wirst du garantiert fündig. :fies:


    Dauert auf dem Raspi aber gewöhnlich länger als auf einem PC mit Hexacore-3GHz-CPU...

    :wink:

  • Könntest du bitte nochmal helfen?

    Ja.


    http://pyqt.sourceforge.net/Do…nd-installing-from-source

    Evtl. noch https://github.com/pyqt/python…ing-PyQt5-on-Ubuntu-12.04 .


    Wäre PySide eine Option, dazu finden sich Infos im QT Wiki.


    Einfach installieren geht nicht, da es das python3-pyqt5.qtwebengine eben nicht für ARM in den Repos gibt. Siehe auch https://raspberrypi.stackexcha…pport-for-webengine-on-pi, https://www.raspberrypi.org/forums/viewtopic.php?t=196225 .


    Kompilieren dürfte auf dem Pi aber eine Ewigkeit dauern, ich denke, das ganze ist den Aufwand am Ende nicht Wert.

    :wink:

  • Danke. Der LInk:


    http://pyqt.sourceforge.net/Do…nd-installing-from-source


    hat mir geholfen. Ich habe PyQt5 ohne Fehler kompilieren (ca. 2 Stunden) und dann installieren. Leider kommt trotzdem, wenn ich anki aufrufe noch der Fehler:


    Code
    1. pi@raspberrypi:~/anki/anki $ sudo ./runanki
    2. Traceback (most recent call last):
    3. File "./runanki", line 3, in <module>
    4. import aqt
    5. File "/home/pi/anki/anki/aqt/__init__.py", line 14, in <module>
    6. from aqt.qt import *
    7. File "/home/pi/anki/anki/aqt/qt.py", line 17, in <module>
    8. from PyQt5.QtWebEngineWidgets import QWebEnginePage
    9. ImportError: No module named 'PyQt5.QtWebEngineWidgets'


    Hab ich irgendwas falsch gemacht?


    MfG

  • Hab ich irgendwas falsch gemacht?

    Keine Ahnung, ich weiß ja nicht, was du genau gemacht hast. Musste man angeben, für welche Module alles Bindings erstellt werden sollen? Wie / wo hast du es denn hin installiert? Virtualenv? Global (:baeh2:)? Sicher, dass Anki auch die neue Bibliothek verwendet? Was ist als Shebang in runanki eingetragen?


    kompilieren (ca. 2 Stunden)

    Gut zu wissen, :danke_ATDE::bravo2:

    :wink:

  • Ich hab laut der Anleitung erstmal sip installiert, dabei habe ich als "private Kopie"-Paketnamen PyQt5.sip angegeben. Erst als ich diese Kopie erstellt hatte, war es möglich, via python3 configure.py PyQt5 zu konfigurieren. Danach habe ich sudo make und sudo make install ohne Fehler durchlaufen lassen.

    Dann habe ich neugestartet und anki über sudo ./runanki gestartet.


    Die ./runanki-Datei:

    Code
    1. #!/usr/bin/env python3
    2. import aqt
    3. aqt.run()


    Sicher, dass Anki auch die neue Bibliothek verwendet?

    Wie finde ich das heraus?



    MfG

  • Was ist die Ausgabe von:

    Code
    1. /usr/bin/env python3 -c "import PyQt5; print(PyQt5.__path__[0])"

    Und


    Code
    1. ls -la <Pfad, der beim Befehl von oben ausgegeben wird>

    Edit: zwei typos im Befehl korrigiert

    :wink: