現在、Python3で動作し、絶対インポートを使用して別のモジュールにモジュールをインポートしようとしましたが、エラーModuleNotFoundError: No module named '__main__.moduleB'; '__main__' is not a package
が発生します。このプロジェクト構造を考えてみましょう:ModuleNotFoundError: '__main __。xxxx'という名前のモジュールはありません。 '__main__'はパッケージではありません
proj
__init__.py3 (empty)
moduleA.py3
moduleB.py3
moduleA.py3
from .moduleB import ModuleB
ModuleB.hello()
moduleB.py3
class ModuleB:
def hello():
print("hello world")
その後python3 moduleA.py3
を実行するとエラーが発生します。ここで何を変更する必要がありますか?
ありがとうございました!
先頭の '。'それが入っているファイルがパッケージに入っているときだけ、あなたが望むように動作します。 – anonymoose
@anonymooseはパッケージではなく「proj」ですか?それは__init __を持っているからです。py3? – mpseligson
先頭に '。'を使用することはできません。あなたがPythonで直接ファイルを実行しているときに、あなたが望むように動作します。ファイルをインポートする必要があります。 'import moduleA'を含む' proj'の外側に別のファイルを置いた場合、あなたは期待している出力を見ることができると思います。 – anonymoose