6

Heroku でテスト Django プロジェクトをセットアップしようとしています。ここHeroku Getting Startedのアドバイスに従ってgunicorn、Django dev サーバーの代わりに使用しようとしています。

これは、Procfile での私の最初の試みでした。

web: gunicorn_django --workers=4 --bind=0.0.0.0:$PORT my_project/settings.py
worker: python my_project/manage.py celeryd -E -B --loglevel=INFO

これにより、次のエラーが発生しました。

ImportError: Could not import settings 'settings.py' (Is it on sys.path?): No module named py

私は別の道を歩むことに決め、ここでのアドバイスに従いました。今、私のProfileは次のようになりました:

web: gunicorn_django -b 0.0.0.0:\$PORT -w 9 -k gevent --max-requests 250 --preload my_project.settings

(geventを含めるように要件ファイルも更新しました。)同じエラーが発生しました:

ImportError: Could not import settings

最後に、次のように設定しましたsettings

web: gunicorn_django -b 0.0.0.0:\$PORT -w 9 -k gevent --max-requests 250 --preload settings

しかし、今、私はこのエラーが発生します:

Error: django project not found

私の Django プロジェクトのセットアップ方法は、settings.pyファイルがリポジトリの親ディレクトリにあることです。別のディレクトリの下に Django プロジェクトがありません。virtualenv および git ファイルと同じレベルです。それは問題になるでしょうか?私は何か単純な間違いをしていると確信しています - どんな助けでも大歓迎です。


ここでHeroku の指示に従い、Procfile を次のように変更すると:

web: gunicorn hellodjango.wsgi -b 0.0.0.0:$PORT

何も起こりません。ログにエラーはありませんが、プロセスは実行されず、アプリは水中で死んでいるように見えます。

4

4 に答える 4

15

この同じ問題に遭遇しました。Heroku ガイドからコピーした procfile で、次のように変更hellodjango.wsgiします。yourproject.wsgi

私たちは皆、時々やみくもにコピペの犠牲になっているように見えますが、あなた (そして私) の弁護では、実際に開かれている *.wsgi ファイルはないように見えます。 django プロジェクトを実行します。

于 2012-05-19T00:32:02.533 に答える
4

私はあなたが抱えているのとまったく同じ問題を抱えていました。最終的に機能させることができた方法は、django app gunicorn を使用することでした。

django の settings.py に gunicorn を追加しました。

'gunicorn',

次に、これを Procfile の Web エントリとして使用しました。

web: python manage.py run_gunicorn -b 0.0.0.0:\$PORT -w 9 -k gevent --max-requests 250 --preload

別のディレクトリ構造を使用している場合は、.manage.py を変更する必要がある場合があります。私のアプリは /app にあり、私の python パスも /app でした。

于 2012-10-12T15:46:05.197 に答える
2

私はこの問題を抱えており、Pythonパスを直接指してから設定参照を設定する必要がありました。

最終的に、私の Procfile は次のようになります。

web: gunicorn_django --pythonpath=/app/project --settings=settings

heroku run環境変数を表示する実行する必要があり、そこで/appプロジェクト名の前に追加した を見つけることができました。

于 2013-03-04T21:56:47.577 に答える
0

requirements.txtルート フォルダ (単語を含むdjango) に と?がありsettings.pyますか? ここに記載されているように、これらは Django アプリ検出の要件のようです。

于 2012-05-10T07:37:02.630 に答える