Python nie może zaimportować modułu w bibliotece [zamknięte]
Próbuję użyć modułu QSerialPort PyQt5. Wszystko, co znalazłem, wskazuje, że QtSerial, który zawiera QSerialPort, powinien być dostarczany z PyQt5. Na przykład,
>>> 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)
Próbowałem zainstalować PyQt5 z poziomu PyCharm, a także z wiersza poleceń za pomocą pip. Próbowałem zaktualizować pip i ponownie zainstalować PyQt5. Mogę bez problemu korzystać z innych modułów PyQt5, na przykład PyQt5.QtWidgets importuje. Ja również próbowałem instalacji qt5-serialport-595
i qt51-serialport
od AUR (używam ArchLinux), bezskutecznie.
Widzę, kiedy przechodzę do wiersza poleceń i uruchamiam, $ pip list -v PyQt5
że PyQt5 jest zainstalowany, /usr/lib/python3.8/site-packages/
a kiedy tam patrzę, widzę, że plik /usr/lib/python3.8/site-packages/PyQt5/QtSerialPort.abi3.so
istnieje. Jednak nie mogę również zaimportować PyQt5.QtSerial, ponieważ również go nie znaleziono, chociaż z nieco innym komunikatem:ImportError: libQt5SerialPort.so.5: cannot open shared object file: No such file or directory
Nie jest to spowodowane literówką w instrukcji importu. Próbowałem prawie wszystkich możliwych kombinacji liter Q i T oraz słów Serial i Port. Jak mogę korzystać z modułu szeregowego PyQt5?
Odpowiedzi
Na podstawie tego posta na forum Archlinux uruchomiłem, pacman -Si python-pyqt5
który dał mi listę opcjonalnych dep, które zawierały linię, qt5-serialport: QtSerialPort
więc użyłem yay do zainstalowania qt5-serialport. Różni się to od qt51-serialport , qt5-serialport-595 , a właściwie od wszystkich pakietów AUR z portem szeregowym w nazwie, które można z jakiegoś powodu znaleźć przeszukując witrynę AUR . Teraz, kiedy używam Pythona w wierszu poleceń, mogę from PyQt5.QtSerialPort import QSerialPort
bez błędu.
Powinienem zauważyć, że ani repozytorium pakietów, w https://pypi.python.org/simple
którym PyCharm używa do znajdowania pakietów do zainstalowania, ani lista AUR z możliwością wyszukiwania, ani pip nie wydają się pokazywać qt5-serialport jako opcji. Więc mimo że został pobrany i Python może go znaleźć z wiersza poleceń, nadal nie jest importowany przez PyCharm, co jest osobnym problemem.