2012-04-17 11 views
5

heroku masterにrepoをプッシュした後、このエラー([Errno 2] No such file or directory)が表示されます。ここに私のログがあります。Durangoを使ってDjangoを展開する - [Errno 2]そのようなファイルやディレクトリがありません

2012-04-17T18:24:53+00:00 app[web.1]: python: can't open file '/test/project/manage.py': [Errno 2]  No such file or directory 

2012-04-17T18:24:54+00:00 heroku[web.1]: Process exited with status 2 

2012-04-17T18:24:54+00:00 heroku[web.1]: State changed from starting to crashed 

2012-04-17T18:24:54+00:00 heroku[web.1]: State changed from crashed to created 

2012-04-17T18:24:54+00:00 heroku[web.1]: State changed from created to starting 

2012-04-17T18:24:57+00:00 heroku[web.1]: Starting process with command python /test/project/manage.py runserver 0.0.0.0:4473 --noreload 2012-04-17T18:24:57+00:00 app[web.1]: python: can't open file '/test/project/manage.py': [Errno 2] No such file or directory 

私Procfileは次のようになります。それは、ファイルを開くことができない理由を私は知らない

web: python /test/project/manage.py runserver 0.0.0.0:$PORT --noreload 

。私の開発サーバーを使用しているときには正常に開きます。何か案は?読んでくれてありがとう。

+0

ていますあなたはあなたのローカルレポのマスターブランチを押す? – ryudice

+0

そうだと思います。私がgitブランチをすると、私が見るのはマスターだけです – Zach

答えて

11

あなたの現在の設定は絶対パス '/test/project/manage.py' を参照ヘロクには存在しない。 '/ test /は実行中のインスタンスのルートであり、間違っています。これが動作しない場合は、実行することにより、プロジェクトの場所を探索することができ

web: python project/manage.py runserver 0.0.0.0:$PORT --noreload 

:あなたが最初にこれが相対パスであることを変更する必要があり、これは次のように可能性が高いものです

heroku run bash 

これは、配置する必要があります'/ app'にはプロジェクトの開始パスが表示されます。

最初のプッシュではプロセスの開始に失敗した可能性が高いため、ウェブプロセスを拡張する必要があります。 (エラー発生場所それはだ場合などは、お使いのwsgi.pyファイルにそれを追加します)あなたは、環境変数を変更するには、このような何かを行うことができ

heroku scale web=1 
+0

これはHerokuのweb.pyアプリケーションでもうまくいきました – JoshOiknine

0

herokuにlsを添付して、ファイルシステムの実際の構造を調べることができます。

> heroku run ls/
Running ls/attached to terminal... up, run.1 
app dev home lib64  mnt sbin usr 
bin etc lib lost+found proc tmp var 

それは、彼らがappディレクトリ内にアプリをラップする場合があるかもしれない

+0

それは私にとっても同じです。 – Zach

+0

したがって、あなたは代わりに 'web:python /app/test/project/manage.py runserver 0.0.0.0:$PORT --nloadload'を実行したいかもしれません。 – Doboy

0

パスの要素を結合するためにos.pathを使用してみてください。、ところであなたは労働者からの読み取りにProcFileを変更するには、それを試してみます? python hellodjango/manage.py

編集以降:

Herokuのマスターを作るために、この3つのコマンドを実行してみ:

  • pip install -r ./requirements.txt

  • foreman start

  • heroku create mempy-demo --stac=cedar

  • gitが今、単純な 'Hello Worldの' のテスト

を習得Herokuのをプッシュ:あなたのProcfileで

$ curl mempy-demo.herokuapp.com 
+0

そう、私はそれを試しました。 – Zach

+0

私は自分の答えを更新します、それは今、heroku masterを置くことによって動作しなければなりません。 –

0

:あなたは、その後でこれを行うことができます

os.environ["DJANGO_SETTINGS_MODULE"] = "myblog.settings"                 
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myblog.settings") 
関連する問題