問い
- Pythonでmain.pyからmodule1.pyを使いたい。
- projectディレクトリで
python scripts/main.py
を実行。
ディレクトリ構成
project/
├ module/
│ └ module1.py
└ scripts/
└ main.py
main.py
import sys
sys.path.append('..')
from module import module1
このままではModuleNotFoundError
が出る。
答え
..
が示すのは、作業ディレクトリから見た親ディレクトリ。実行ファイルのあるディレクトリではない。つまり、projectディレクトリに対する親ディレクトリを参照している。
解決策としては、モジュールとして実行することが考えられる。
python -m scripts.main