mod_wsgiでDjangoを実行していると、奇妙なDjangoの問題が発生します。
Djangoはを見つけurls.py
て、次のように言っています。
ViewDoesNotExist: Could not import app.views. Error was: No module named views
奇妙なことに、私が持っている場合
import app
のインポートステートメントではurls.py
、エラーは発生しません(app.views
上記のようにヒットするまで)が、
from app import views
importステートメントでエラーが発生します。
Djangoのデバッグ情報に示されているように、私のPythonパスには、包含フォルダーとアプリフォルダーの両方が含まれています。コマンドラインからPythonを実行すると、問題なくインポートできapp.views
ます。うまく使ってアプリを実行できますpython manage.py runserver
。
stderrへのPythonパスも出力してみましたurls.py
が、アプリへのパスが含まれています。
何が起こっているのでしょうか?
__init__.py
私が最初に考えたのは、appフォルダーにがない可能性があるということでしたが、あります。
ありがとう!
アップデート
runserverアプリで、試してみると
print app.__file__
>> \path\to\app\__init__.py
しかし、wsgiバージョンでは、次のようにしか表示されません。
print app.__file__
>> \path\to\app\
言い換えれば、それは単に見つけていないということ__init__.pyc
です。