【发布时间】:2017-08-04 13:06:51
【问题描述】:
尝试在 Python Anywhere 上运行 django 应用时出现以下导入错误:
Error running WSGI application
ImportError: No module named 'chamberlin.settings'
File "/var/www/mikechamberlin_pythonanywhere_com_wsgi.py", line 58, in <module>
application = get_wsgi_application()
我已经检查了我的 WSGI 配置文件和我的目录结构,它们似乎都是正确的。
WSGI 文件:
import os
import sys
path = '/home/mikechamberlin/chamberlin'
if path not in sys.path:
sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'chamberlin.settings'
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
树:
mikechamberlin
├── ...
├── chamberlin
├── __init__.py
├── chamberlin
│ ├── __init__.py
│ ├── admin.py
│ ├── private_settings.py
│ ├── settings.py
│ ├── static
...
谁能看到我没看到的东西?我已经在这里搜索并阅读了 PythonAnywhere 上的 ImportError 帮助消息,但我的东西似乎命名正确。从控制台导入有效,但在尝试运行应用程序时仍然出现此错误。
非常感谢。
【问题讨论】:
-
wsgi.py所在的位置。请在树上显示它。 -
树很大,但是wsgi文件位于
/var/www/(domain)_wsgi.py上面的树位于/home/mikechamberlin/chamberlin -
您是说
wsgi.py位于chamberlin/目录之外? -
哦,不。对不起。它在
home/mikechamberlin/chamberlin/chamberlin -
您可能会遇到模块别名。尝试将
sys.path.append(path)更改为sys.path.insert(0, path),以便您的设置模块在sys.path中排在第一位
标签: python django pythonanywhere