Python ne peut pas importer le module dans la bibliothèque [fermé]

Nov 24 2020

J'essaye d'utiliser le module QSerialPort de PyQt5. Tout ce que j'ai trouvé a indiqué que QtSerial qui contient QSerialPort devrait venir avec PyQt5. Par exemple,

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

J'ai essayé d'installer PyQt5 à partir de PyCharm, ainsi que sur la ligne de commande avec pip. J'ai essayé de mettre à niveau pip et de réinstaller PyQt5. Je peux utiliser d'autres modules de PyQt5, par exemple les importations PyQt5.QtWidgets sans aucun problème. J'ai également essayé d'installer qt5-serialport-595et qt51-serialportde l' AUR (j'utilise Archlinux), en vain.

Je peux voir quand je vais sur la ligne de commande et exécuter $ pip list -v PyQt5que PyQt5 est installé /usr/lib/python3.8/site-packages/et quand je regarde là-bas, je peux voir que le fichier /usr/lib/python3.8/site-packages/PyQt5/QtSerialPort.abi3.soexiste. Cependant, je ne peux pas non plus importer PyQt5.QtSerial car il n'est pas non plus trouvé, bien qu'avec un message légèrement différent:ImportError: libQt5SerialPort.so.5: cannot open shared object file: No such file or directory

Cela n'est pas dû à une faute de frappe dans l'instruction d'importation. J'ai essayé à peu près toutes les permutations possibles des lettres Q et T et des mots Serial et Port. Comment puis-je utiliser le module série de PyQt5?

Réponses

2 the_pie_in_the_sky_is_a_lie Nov 24 2020 at 12:44

Sur la base de ce post sur les forums Archlinux, j'ai couru pacman -Si python-pyqt5ce qui m'a donné une liste de deps optionnels qui incluaient la ligne, qt5-serialport: QtSerialPortdonc j'ai utilisé yay pour installer qt5-serialport. Ceci est différent de qt51-serialport , qt5-serialport-595 , et en fait de tous les packages AUR avec serialport dans le nom que l'on peut trouver en recherchant le site AUR , pour une raison quelconque. Maintenant, lorsque j'utilise python sur la ligne de commande, je peux from PyQt5.QtSerialPort import QSerialPortsans erreur.

Je dois noter que ni le https://pypi.python.org/simpleréférentiel de packages dans lequel PyCharm utilise pour trouver des packages installables, ni la liste AUR consultable, ni pip ne semble afficher qt5-serialport en option. Ainsi, même si je l'ai téléchargé et que python peut le trouver à partir de la ligne de commande, il n'est toujours pas importé par PyCharm, ce qui est un problème distinct.