デバッグのためにレガシー プロジェクトを pycharm にインポートしようとしています。ディレクトリ構造は次のようになります。
最上位フォルダ ---> フォルダ 1
一番上のフォルダ ---> フォルダ 2
問題は、サブフォルダー内のプログラムが以下を使用することです。
import top
from top import module
Pycharm がエラーを返します:「トップという名前のモジュールはありません」
どうすればこれを修正できますか?
最初に確認することは、ゲームが言ったことを実行することです.パッケージを表す各フォルダーが、フォルダーがpythonパッケージであることをインタープリターに伝える__init__.py
正確な名前の空のpythonファイルであるファイルを配置することによって行われることを確認する必要があります。__init__.py
2 番目に確認すべきことは、PyCharm がそのディレクトリについて認識していない場合、pycharm はインポートされたコードについて不平を言うのが好きだということです。プロジェクト インタープリター構成に移動し、パスに移動して、プロジェクト内またはインタープリターの直下にないパス参照を追加します。
追加するもう 1 つのことは、プロジェクト コードのソース ルートを設定することです。これには、ルートを表すフォルダーを右クリックし、[Mark Directory as...] > [Source Root] をクリックします。
同じ問題が発生しましたが、init .py ファイルがないことが原因ではありません。その理由は、プロジェクトに同じ名前のモジュールが 2 つあるため、PyCharm がインポート方法を知らないためです。奇妙なことに、PyCharm は実行時にのみこのエラーを報告します。
私のプロジェクト ファイル:
source root1
|-- moduleA
|-- __init__.py
|-- A.py
source root2
|-- moduleA
|-- __init__.py
|-- B.py
実際、ソース root1 は私のコードであり、ソース root2 は私のテスト コードです。
したがって、解決策はテスト モジュール名を変更することです。
source root1
|-- moduleA
|-- __init__.py
|-- A.py
source root2
|-- testmoduleA
|-- __init__.py
|-- B.py