マイプロジェクトの構造は、このようなものです:Pythonのインポートエラー、見つけることができないモジュール
dir A/
main.py
__init__.py
modules/
a.py
__init__.py
components/
b.py
c.py
__init__.py
main.py
では、私はfrom modules.a import xxx
を書きました。 a.py
では、モジュールb.py
をインポートし、b.py
に、c.py
をインポートしたいと思います。
from components.b import xxx
をa.py
に書きました。main.py
を実行したときにインポートエラーが発生しました。 にfrom c import xxx
と書いても同じエラーが出ます。しかし、b.py
を直接実行した場合、うまくいった。私は何度も試してみたところ、dir A
をルートディレクトリとみなしてすべての読み込み文を書く必要があることがわかりました。たとえば、にfrom modules.components.b import xxx
と書いてb.py
にfrom modules.components.c import xxx
と書き込むと、プログラムはうまくいっています。
誰かが、環境の変化の経路がこの問題を解決できると言います。しかし、プロジェクト全体の位置を変えたら、何度も何度もパスを設定する必要はありませんか?
適切な解決策はありますか?誰かの助けを聞いてうれしく思います。
どうもありがとう! :)私はとても愚かです。 – LuCima