Python での相対インポートの使用には 1 つの欠点があります。例外が発生するため、モジュールをスタンドアロンとして実行できなくなります。ValueError: Attempted relative import in non-package
# /test.py: just a sample file importing foo module
import foo
...
# /foo/foo.py:
from . import bar
...
if __name__ == "__main__":
pass
# /foo/bar.py: a submodule of foo, used by foo.py
from . import foo
...
if __name__ == "__main__":
pass
test.py
all:を実行できるようにするfoo.py
には、サンプル コードをどのように変更すればよいですか。bar.py
Python 2.6+ (3.x を含む) で動作するソリューションを探しています。