次のようなディレクトリ/ファイル構造を持つDjango Webアプリがあります。
matrix/
matrix/
settings.py
__init__.py
view/
get_matrix.py
__init__.py
settings.py
__init__.py
settings.py
(最上位ディレクトリにあるもの) は、プロパティを持つ単純なワンライナーです。
SOME_PROPERTY="FOO"
そして最後にこれはget_matrix.py
:
import settings
def foo_bar_op():
print settings.PROPERTY
if __name__ == "__main__":
foo_bar_op()
問題
Web アプリを実行すると、正常に動作し、問題はありません。ただし、python get_matrix.py
単独で実行すると、次のエラーが発生します。
ImportError: No module named settings
Web アプリがいつ実行されるかを調べたsys.path
ところ、最上位のディレクトリが最初のエントリとして含まれています。それはそれがどのように見つけているかを説明するでしょうsettings.py
。
メインモジュールが見つからないのはなぜsettings.py
ですか? という名前のディレクトリが 2 つあるのは混乱していmatrix
ませんか?