1. ホーム
  2. Python

AttributeError: Pycharm で pyserial を使用する場合、モジュール 'serial' には 'Serial' という属性がない。

2022-02-21 13:55:05

<スパン      新しい ノートブック(なし ) 、cmd ウィンドウで pip install pyserial コマンドを使用して pyserial パッケージをインストールし、python に付属する IDLE を開いて、次のコードを実行します。

import serial # import pyserial
com = serial.Serial('com3', 115200) # instantiate serial port, com3, baud rate 115200
print("com3")

com3 シリアルポート情報が正しく表示され、pyserial パッケージがインストールされ、正しく動作していることがわかります。

        結局のところ、pythonのIDLEは、使用することは非常に便利ではありません、またはあなたがPcharmにプログラムを移植する必要があり、その後、魔法の問題は、直接最初の文にエラーが報告され、モジュール&quot;シリアル&quotを見つけることができない、Pycharmのヒントに従って、シリアル用のダウンロードとインストールパッケージをクリックして、しばらくすると、インストールが正常に行われました。

        この時点で問題が解決したと思い、嬉々としてデバッグしていたら、Pycharmが以下の問題を投げかけてきて、長い間私を苦しめることになりました。

        AttributeError: モジュール 'serial' には属性 'Serial' がありません。

この問題については、ネット上でも多くの出会いがあり、解決策は大きく2つに分かれます。1. pyserialを再インストールする。2. .pyスクリプトのファイル名を変更する。多くの失敗した試行の後、慎重に検討した後、私はこの問題は、Pyserialが正常にインストールされていないはずだと思う、すべての後に、IDLEはすでに正常に実行することができ、Pycharmで設定が正しくないPycharmでなければなりません、実行することはできません。この考えに沿って、Pycharmがどのようにpythonパッケージを呼び出すかを研究し始めたところ、Pycharmはかなり特殊で、pythonインストールディレクトリ下のLibフォルダ内のパッケージを直接呼び出すのではなく、Pycharmプロジェクトフォルダ内のvenv/Lib内のパッケージを呼び出します。すでにPycharmを使って、Pycharmプロジェクトフォルダ内のシリアルパッケージをダウンロードしていますが、それはpyserialではないので、シリアルモジュールはなく、そのため上記の頭痛は AttributeError.

最後に、Psycharm-->Setting-->Project Interpreterのパッケージ管理インターフェースで、pyserialを選択してインストールすれば、問題は解決です!

        PythonのインストールディレクトリにあるLibから、Pycharmのプロジェクトフォルダvenv/Libにpyserialフォルダを丸ごとコピーすると、問題が解決することを想像してみてください。

<スパン <スパン         概要:この問題の原因の最初の理解は、serial.Serial()の中でpyserialのパッケージを使いたいが、Pycharmはserialのパッケージしかインストールしていないので、インデックスがserial.Serial()を見つけることができない、その後の問題を掘り下げる必要:があることです。
        1. pycharmのパッケージの具体的な管理方法は、ローカルにインストールされたパッケージを直接利用する方法があるのか、それとも、Setting...でインストールされたパッケージのみに依存するのか、などです。
        2. serialとは何ですか、またpyserialとの違いは何ですか?