Pythonがライブラリ内のモジュールをインポートできない[クローズ]
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の他のモジュール、たとえばPyQt5.QtWidgetsインポートを問題なく使用できます。また、AUR(Archlinuxを使用しています)からインストールqt5-serialport-595
してみましたが、役に立ちませんでした。qt51-serialport
コマンドラインに移動し$ pip list -v PyQt5
てPyQt5がインストールされ/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、および単語SerialとPortのほぼすべての可能な順列を試しました。PyQt5のシリアルモジュールを使用するにはどうすればよいですか?
回答
このArchlinuxフォーラムの投稿に基づいて実行しpacman -Si python-pyqt5
たところ、その行を含むオプションのdepsのリストが表示されたqt5-serialport: QtSerialPort
ので、yayを使用してqt5-serialportをインストールしました。これは区別されqt51-SERIALPORT、qt5-SERIALPORT-595、および実際にはいずれかのAURサイトを検索して見つけることができます名前でSERIALPORT持つAURパッケージ何らかの理由で、。これで、コマンドラインでpythonを使用するfrom PyQt5.QtSerialPort import QSerialPort
と、エラーなしで実行できます。
https://pypi.python.org/simple
PyCharmがインストール可能なパッケージを見つけるために使用しているパッケージリポジトリ、検索可能なAURリスト、pipのいずれもオプションとしてqt5-serialportを表示していないように見えることに注意してください。そのため、ダウンロードしてPythonがコマンドラインから検出できたとしても、PyCharmによってインポートされていません。これは別の問題です。