1

djangoアプリに小さなコード変更をコミットし、herokuにデプロイしました。アプリは、すべての応答でH10(アプリがクラッシュした)エラーをスローするようになりました。ログを確認したところ、見ました。

[web.1]: Traceback (most recent call last):
[web.1]:   File "nightlife2/manage.py", line 2, in <module>
[web.1]:     from django.core.management import execute_manager
[web.1]: ImportError: No module named django.core.management
[web.1]: bash: bin/gunicorn_django: No such file or directory

..私が知っていることは、djangoがpythonpathにないことを意味します。herokuconfigのPATHを確認しましたbin:/usr/local/bin:/usr/bin:/bin。しかし、を実行しているときに、ディレクトリheroku run bash全体がなくなっていることに気付きました。binherokuにデプロイされた他のアプリは、引き続きプッシュしてbinそこにディレクトリを置くことができます(新しいアプリには、binディレクトリがなくなり、.heroku / venv / binにあると思います。詳細については100%わかりません)。

誰かがこれに遭遇したことがありますか?PATHをに変更できますが.heroku/venv/bin、SQLに関するエラーが発生し、これが根本的な問題に近いのか遠いのかわかりません。これは本番サーバーであり、現在はホースで接続されているため、何でも大歓迎です。

編集:パスを変更するときのエラーは次のとおりdjango.core.exceptions.ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named _sqlite3 です。データベースはpostgressなので、これがどこから来ているのかわかりません

4

1 に答える 1

1

問題を解決しました。それは物事の組み合わせでした。私はここに文書化し、うまくいけば、私が今経験した頭痛を誰かに救うでしょう。

私たちのデータベースは、新しいHerokuPostgres開発計画に更新されたばかりです。(これが関連しているかどうかわからない)。データベースが更新されて以来、これはコードの最初のプッシュでした。

しばらく前に、設定インジェクションが非推奨になっていると聞いたのを覚えています。素朴なので、私たちはそれについて何もしませんでしたし、変化を見たことがなかったので、それについてフォローアップすることはありませんでした。彼らは本日発効することを決定し、postgresデータベースへのリンクを解除しました。binディレクトリがなくなった理由はまだわかりませんが、アプリが新しいを使用しているようです.heroku/venv/bin。これをすべて修正するには、データベースに新しいpostgres宣言を使用するようにsettings.pyを変更する必要がありました。私のOPでは、ディレクトリheroku configを指すようにPATH変数を更新する必要があるというのは正しいことでした。.heroku/venv/bin次に、Procfileが見つからないという不満があったため、Procfileを更新する必要bin/gunicorn_djangoがありました。すべてが更新されたら、コードをプッシュすることで問題が解決しました

于 2012-10-23T23:59:57.510 に答える