Pythonパッケージは、その中の任意のモジュールですべてを可能にするようにどのように構成されていると想定されていますか?
私のファイル構造は次のとおりです。
Project/
|---log/
| |---some logs
|
|---src/
|---foo/
| |---__init__.py
| |---analyse.py
| |---export.py
|
|---bar/
| |---__init__.py
| |---log.py
| |---dbhandler.py
|
|---__init__.py
|---main.py
main.py
すべてを初期化します。foo/analyse.py
にインポートしたいのですbar/dbhandler.py
が、エラーが表示されるだけです。
AttributeError: 'module' object has no attribute 'analyse'
私はいくつかのステートメントを試しました:
import Project.src.foo.analyse
import src.foo.analyse
import foo.analyse
import analyse
それらはすべて同じエラーを出します。私も試しました:
from .. import foo.analyse
from .. import analyse
しかし、私は受け取りました:
ValueError: Attempted relative import beyond toplevel package
StackOverflowで約50のスレッドを調べ、インターネットで数え切れないほどの記事を読んだことがあります。私が見つけたすべてのことから、ファイルimport src.foo.*
だけが各フォルダーにある場合、ステートメントはパッケージ内のどこからでも機能するはずです。__init__.py
誰かが同じ問題を抱えていましたか?