Python no puede importar el módulo dentro de la biblioteca [cerrado]

Nov 24 2020

Estoy tratando de utilizar el módulo QSerialPort de PyQt5. Todo lo que he encontrado ha indicado que QtSerial que contiene QSerialPort debería venir con PyQt5. Por ejemplo,

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

Intenté instalar PyQt5 desde dentro de PyCharm, así como en la línea de comandos con pip. Intenté actualizar pip y reinstalar PyQt5. Puedo usar otros módulos de PyQt5, por ejemplo PyQt5.QtWidgets importa sin ningún problema. También intenté instalar qt5-serialport-595y qt51-serialportdesde AUR (estoy usando Archlinux), sin éxito.

Puedo ver cuando voy a la línea de comando y ejecuto $ pip list -v PyQt5que PyQt5 está instalado /usr/lib/python3.8/site-packages/y cuando miro allí, puedo ver que el archivo /usr/lib/python3.8/site-packages/PyQt5/QtSerialPort.abi3.soexiste. Sin embargo, tampoco puedo importar PyQt5.QtSerial ya que tampoco se encuentra, aunque con un mensaje ligeramente diferente:ImportError: libQt5SerialPort.so.5: cannot open shared object file: No such file or directory

Esto no se debe a un error tipográfico en la declaración de importación. He intentado casi todas las permutas posibles de las letras Q y T y las palabras Serial y Port. ¿Cómo puedo usar el módulo serial de PyQt5?

Respuestas

2 the_pie_in_the_sky_is_a_lie Nov 24 2020 at 12:44

Basado en esta publicación de foros de Archlinux que ejecuté, pacman -Si python-pyqt5me dio una lista de departamentos opcionales que incluían la línea, qt5-serialport: QtSerialPortasí que usé yay para instalar qt5-serialport. Esto es diferente de qt51-serialport , qt5-serialport-595 y, de hecho, de cualquiera de los paquetes AUR con serialport en el nombre que se pueden encontrar buscando en el sitio AUR , por alguna razón. Ahora, cuando uso Python en la línea de comandos, puedo hacerlo from PyQt5.QtSerialPort import QSerialPortsin error.

Debo señalar que ni el repositorio de paquetes en el https://pypi.python.org/simpleque PyCharm está usando para encontrar paquetes instalables, ni el listado AUR de búsqueda, ni pip parecen mostrar qt5-serialport como una opción. Entonces, aunque lo descargué y Python puede encontrarlo desde la línea de comandos, PyCharm todavía no lo importa, lo cual es un problema separado.