Python이 라이브러리 내에서 모듈을 가져올 수 없습니다.

Nov 24 2020

PyQt5의 QSerialPort 모듈을 사용하려고합니다. 내가 찾은 모든 것은 QSerialPort를 포함하는 QtSerial이 PyQt5와 함께 제공되어야 함을 나타냅니다. 예를 들면

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

PyCharm 내부와 pip가있는 명령 줄에서 PyQt5를 설치하려고했습니다. pip를 업그레이드하고 PyQt5를 다시 설치해 보았습니다. 예를 들어 PyQt5.QtWidgets 가져 오기와 같은 PyQt5의 다른 모듈을 문제없이 사용할 수 있습니다. 나는 또한 AUR (저는 Archlinux를 사용 qt5-serialport-595하고 있습니다) qt51-serialport에서 설치를 시도했지만 아무 소용이 없습니다.

명령 줄로 이동하여 $ pip list -v PyQt5PyQt5가 설치된 위치를 확인 /usr/lib/python3.8/site-packages/하고 거기를 보면 파일 /usr/lib/python3.8/site-packages/PyQt5/QtSerialPort.abi3.so이 존재 함을 알 수 있습니다. 그러나 약간 다른 메시지가 있지만 PyQt5.QtSerial도 찾을 수 없기 때문에 가져올 수 없습니다.ImportError: libQt5SerialPort.so.5: cannot open shared object file: No such file or directory

이는 import 문의 오타로 인한 것이 아닙니다. 나는 문자 Q와 T와 직렬 및 포트라는 단어의 가능한 모든 순열을 시도했습니다. PyQt5의 시리얼 모듈은 어떻게 사용하나요?

답변

2 the_pie_in_the_sky_is_a_lie Nov 24 2020 at 12:44

이 Archlinux 포럼 게시물을 기반으로 실행 pacman -Si python-pyqt5하여 라인을 포함하는 선택적 deps 목록을 제공 qt5-serialport: QtSerialPort하므로 yay를 사용하여 qt5-serialport를 설치했습니다. 이것은 qt51-serialport , qt5-serialport-595 및 실제로 어떤 이유로 AUR 사이트를 검색하여 찾을 수있는 이름에 직렬 포트가 있는 모든 AUR 패키지와 다릅니다 . 이제 명령 줄에서 파이썬을 사용할 때 from PyQt5.QtSerialPort import QSerialPort오류없이 할 수 있습니다 .

https://pypi.python.org/simplePyCharm이 설치 가능한 패키지를 찾는 데 사용 하는 패키지 저장소 도 검색 가능한 AUR 목록도 pip도 qt5-serialport를 옵션으로 표시하지 않는 것 같습니다. 따라서 다운로드하고 Python이 명령 줄에서 찾을 수 있지만 PyCharm에서 가져 오지는 않습니다. 이는 별도의 문제입니다.