だから私は、メインスクリプトが置かれているもののサブディレクトリであるpythonパッケージからモジュールをインポートしたい. これはディレクトリ構造です:
maindir \
- main.py
- modules \
- __init__.py
- module.py
私が奇妙だと思うのはmodule.py
、単純なではインポートできないことです。なぜなら、その中の関数をimport modules.module
呼び出そうとすると、が返されるからです。ただし、 を実行すると、 と同じようにすべて正常に動作します。また、が と同じディレクトリにある場合、 を呼び出すには単純なもので十分です。module.foo()
main.py
NameError: name 'module' is not defined
import modules.module as module
from modules import module
module.py
main.py
import module
module.foo()
さて、問題は、それはなぜですか?import
スクリプトが入っているディレクトリではなく、パッケージからモジュールをインポートするのに単純なステートメントが十分でないのはなぜですか? それとも私は何か他のことを間違っていますか?私は今かなり混乱しているので、答えは本当にありがたいです...