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の他のモジュール、たとえば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のシリアルモジュールを使用するにはどうすればよいですか?

回答

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サイトを検索して見つけることができます名前でSERIALPORT持つAURパッケージ何らかの理由で、。これで、コマンドラインでpythonを使用するfrom PyQt5.QtSerialPort import QSerialPortと、エラーなしで実行できます。

https://pypi.python.org/simplePyCharmがインストール可能なパッケージを見つけるために使用しているパッケージリポジトリ、検索可能なAURリスト、pipのいずれもオプションとしてqt5-serialportを表示していないように見えることに注意してください。そのため、ダウンロードしてPythonがコマンドラインから検出できたとしても、PyCharmによってインポートされていません。これは別の問題です。