Python não consegue importar módulo dentro da biblioteca [fechado]

Nov 24 2020

Estou tentando usar o módulo QSerialPort do PyQt5. Tudo o que encontrei indica que QtSerial que contém QSerialPort deve vir com PyQt5. Por exemplo,

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

Tentei instalar o PyQt5 de dentro do PyCharm, bem como na linha de comando com pip. Tentei atualizar o pip e reinstalar o PyQt5. Consigo usar outros módulos do PyQt5, por exemplo PyQt5.QtWidgets importa sem nenhum problema. Também tentei instalar qt5-serialport-595e qt51-serialportdo AUR (estou usando o Archlinux), sem sucesso.

Posso ver quando vou para a linha de comando e executo $ pip list -v PyQt5que o PyQt5 está instalado /usr/lib/python3.8/site-packages/e quando olho lá, posso ver que o arquivo /usr/lib/python3.8/site-packages/PyQt5/QtSerialPort.abi3.soexiste. No entanto, também não consigo importar PyQt5.QtSerial porque também não foi encontrado, embora com uma mensagem ligeiramente diferente:ImportError: libQt5SerialPort.so.5: cannot open shared object file: No such file or directory

Isso não é causado por um erro de digitação na instrução de importação. Tentei praticamente todas as permutações possíveis das letras Q e T e das palavras Serial e Port. Como posso usar o módulo serial do PyQt5?

Respostas

2 the_pie_in_the_sky_is_a_lie Nov 24 2020 at 12:44

Com base neste post do fórum do Archlinux que fiz pacman -Si python-pyqt5que me deu uma lista de dependências opcionais que incluíam a linha qt5-serialport: QtSerialPort, usei yay para instalar o qt5-serialport. Isso é diferente de qt51-serialport , qt5-serialport-595 e, na verdade, de qualquer um dos pacotes AUR com serialport no nome que podem ser encontrados pesquisando no site do AUR , por algum motivo. Agora, quando eu uso python na linha de comando, posso from PyQt5.QtSerialPort import QSerialPortsem erros.

Devo observar que nem o https://pypi.python.org/simplerepositório de pacotes no qual o PyCharm está usando para encontrar pacotes instaláveis, nem a listagem AUR pesquisável, nem o pip parecem mostrar qt5-serialport como uma opção. Portanto, embora eu o tenha baixado e o python possa encontrá-lo na linha de comando, ele ainda não está sendo importado pelo PyCharm, o que é um problema separado.