Python não consegue importar módulo dentro da biblioteca [fechado]
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-595
e qt51-serialport
do AUR (estou usando o Archlinux), sem sucesso.
Posso ver quando vou para a linha de comando e executo $ pip list -v PyQt5
que 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.so
existe. 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
Com base neste post do fórum do Archlinux que fiz pacman -Si python-pyqt5
que 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 QSerialPort
sem erros.
Devo observar que nem o https://pypi.python.org/simple
repositó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.