Python kann Modul nicht in Bibliothek importieren [geschlossen]

Nov 24 2020

Ich versuche, das QSerialPort-Modul von PyQt5 zu verwenden. Alles, was ich gefunden habe, hat gezeigt, dass QtSerial, das QSerialPort enthält, mit PyQt5 geliefert werden sollte. Zum Beispiel,

>>> from PyQt5 import QtSerial
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name 'QtSerial' from 'PyQt5' (/usr/lib/python3.8/site-packages/PyQt5/__init__.py)

Ich habe versucht, PyQt5 sowohl in PyCharm als auch in der Befehlszeile mit pip zu installieren. Ich habe versucht, pip zu aktualisieren und PyQt5 neu zu installieren. Ich kann problemlos andere Module von PyQt5 verwenden, z. B. PyQt5.QtWidgets-Importe. Ich habe auch versucht, qt5-serialport-595und qt51-serialportvon der AUR (ich benutze Archlinux), ohne Erfolg.

Ich kann sehen, wann ich zur Befehlszeile gehe und ausführe, $ pip list -v PyQt5dass PyQt5 installiert ist, /usr/lib/python3.8/site-packages/und wenn ich dort nachschaue, kann ich sehen, dass die Datei /usr/lib/python3.8/site-packages/PyQt5/QtSerialPort.abi3.soexistiert. Ich kann PyQt5.QtSerial jedoch auch nicht importieren, da es ebenfalls nicht gefunden wird, wenn auch mit einer etwas anderen Meldung:ImportError: libQt5SerialPort.so.5: cannot open shared object file: No such file or directory

Dies wird nicht durch einen Tippfehler in der Importanweisung verursacht. Ich habe so ziemlich jede mögliche Permutation der Buchstaben Q und T und der Wörter Serial und Port ausprobiert. Wie kann ich das serielle Modul von PyQt5 verwenden?

Antworten

2 the_pie_in_the_sky_is_a_lie Nov 24 2020 at 12:44

Basierend auf dieser Archlinux Foren posten Ich lief pacman -Si python-pyqt5die mir eine Liste der optionalen deps gab, die die Linie enthalten , qt5-serialport: QtSerialPortdamit ich yay verwendet QT5-Serialport zu installieren. Dies unterscheidet sich von qt51-serialport , qt5-serialport-595 und tatsächlich von allen AUR-Paketen mit serialport im Namen, die aus irgendeinem Grund durch Durchsuchen der AUR-Site gefunden werden können . Wenn ich jetzt Python in der Befehlszeile verwende, kann ich from PyQt5.QtSerialPort import QSerialPortohne Fehler.

Ich sollte beachten, dass weder das Paket-Repo, mit https://pypi.python.org/simpledem PyCharm installierbare Pakete findet, noch die durchsuchbare AUR-Liste oder pip qt5-serialport als Option anzeigen. Obwohl ich es heruntergeladen habe und Python es über die Befehlszeile finden kann, wird es immer noch nicht von PyCharm importiert, was ein separates Problem ist.