这是关于女服务员的一个可怕事实:它向您隐藏信息。
如果您查看源代码,“Bad Module”是“从 wsgi 模块导入应用程序失败”的代码。
要查看错误,请尝试:
- 登录到测功机
heroku run bash
- 导航到其中包含 wsgi.py 的目录(使用
cd
)
- 打开一个外壳
python
- 跑步
import wsgi
当我遇到此错误并执行此操作时,我得到:
~/proj/proj $ python
Python 2.7.9 (default, Dec 11 2014, 17:18:51)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import wsgi
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "wsgi.py", line 36, in <module>
application = get_wsgi_application()
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/wsgi.py", line 14, in get_wsgi_application
django.setup()
File "/app/.heroku/python/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/app/.heroku/python/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "/app/.heroku/python/lib/python2.7/site-packages/django/apps/config.py", line 86, in create
module = import_module(entry)
File "/app/.heroku/python/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named debug_toolbar
这是一个更有帮助的错误。就我而言,我在生产中将 DJANGO_SETTINGS_MODULE 设置为“本地”(没有适当的要求),因此导入失败。
您的问题的确切性质会有所不同,但我会提到一个让我在开始时感到沮丧的案例:
如果您正在运行web: waitress-serve --port=$PORT cardisle.wsgi:application
,您可能需要更改您的 PYTHONPATH 环境变量,以便 PYTHONPATH+cardisle.wsgi 是相关机器上完整的现存路径。
今晚我将为服务员打开一个 PR,试图冒泡导入错误。否则祝你好运!