質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.04%

""Python""でDjangoアプリをHerokuへデプロイできません!!!

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 2
  • VIEW 4,455
退会済みユーザー

退会済みユーザー

こんばんは。
いつもお世話になっております。
今回はdjangoを使ったアプリをherokuにデプロイする際に、
躓いてしまっておりますので質問させて頂きます。

requirements.txtは以下の通りです。

appdirs==1.4.3
dj-database-url==0.4.2
Django==1.10.6
gunicorn==19.7.1
packaging==16.8
psycopg2==2.7.1
pyparsing==2.2.0
six==1.10.0
whitenoise==3.3.0

またruntime.txtは、
python-3.6.1
です。(使用しているpythonは3.6.0)

Procfileは、
web: gunicorn アプリ名.wsgi
で記述しています。

エラーの変遷をご覧下さい。

$ git push heroku master
Counting objects: 8706, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (7723/7723), done.
Writing objects: 100% (8706/8706), 13.87 MiB | 305.00 KiB/s, done.
Total 8706 (delta 2289), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote:  !     No default language could be detected for this app.
remote:                         HINT: This occurs when Heroku cannot detect the buildpack to use for this application         automatically.
remote:                         See https://devcenter.heroku.com/articles/buildpacks
remote:
remote:  !     Push failed
remote: Verifying deploy...
remote:
remote: !       Push rejected to tobedol.
remote:
To https://git.heroku.com/tobedol.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/tobedol.git'


上記のようなエラーが出たため、
heroku buildpacks:set heroku/python
を入力した後に再度pushしたところ、

$ git push heroku master
Counting objects: 8706, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (7723/7723), done.
Writing objects: 100% (8706/8706), 13.87 MiB | 283.00 KiB/s, done.
Total 8706 (delta 2288), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Failed to detect app matching https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/python.tgz bu        ildpack
remote:        More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure
remote:
remote:  !     Push failed
remote: Verifying deploy...
remote:
remote: !       Push rejected to tobedol.
remote:
To https://git.heroku.com/tobedol.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/tobedol.git'


となり、ここで力尽きました。。。
heroku側が提供しているビルドパック?がこのアプリとは合っていないみたいな感じでしょうか。。
Logsで内容を確認しようにも、
短すぎてよく分からない状態です。。

どなたかご意見、ご指導賜れれば幸いでございます。

何卒宜しくお願いいたします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

0

過去に同じ問題に当たったことがあります。
以下の手順で試してもらえますか?

  1. runtime.txt を python-3.6.1 から python-3.6.0 に変更する。
  2. Procfile があるか確認する。なければ作成する。
  3. Heroku の dashboard にアクセスし、 tobedol を削除する。
  4. コミット対象になっているソースが意図したものか確認する。
  5. 改めて Heroku にデプロイする。
  6. buildpack のエラーで怒られたら、 heroku buildpacks:set heroku/python を実行。
  7. 再度 Heroku にデプロイする。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/05 22:41

    ログは見れたのですが量が少なくて、訳分からないですね(T-T)
    とにかく有り難う御座いました。

    キャンセル

  • 2017/04/05 23:06 編集

    お役に立てずすみません。
    ログもあてにならないとすると判断つきませんね……

    逆にログには出ていないけど実は不足していたり、壊れている箇所があったりすることもあるので、いっそはじめからやり直すしかないのかもしれません……

    p.s. 他にもrequirements.txtをrequirement.txtなどファイル名が違うとpushがうまくいかないことがありました。

    キャンセル

  • 2017/04/07 18:11

    Git init を二つ下の階層で行うことでpython app detected となりました!
    何度もコメント頂き有り難うございましたm(_ _)m

    キャンセル

0

herokuでpythonを使ったことはないのですが、エラー内容からするとbuildpackのdetectで必要なファイルを検出することが出来ていないように見えます。

恐らくbuildpack-pythonは以下のコードで判定しているはずです。

https://github.com/heroku/heroku-buildpack-python/blob/master/bin/detect

上記スクリプトで判定しているファイルのいずれかがアプリのルートパスに存在すれば、今回のエラーは回避出来る気がします。

https://elements.heroku.com/buildpacks/heroku/heroku-buildpack-python

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/07 18:09

    回答頂きまして、有り難うございました。
    『アプリのルートパスに存在すれば』というコメントにインスピレーションを頂き、解決することができました。
    有り難うございます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.04%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる