ここにウェイトレスに関する恐ろしい事実があります: それはあなたから情報を隠しています.
ソースを見ると、「Bad Module」は「wsgi モジュールからのアプリケーションのインポートに失敗しました」のコードです。
エラーを表示するには、次を試してください。
- でdynoにログインする
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 を開き、インポート エラーをバブルアップさせます。それ以外の場合は頑張ってください!