Pyhton Heroku でpushできなくてあきらめる前に見るページ(1)

はじめに

みなさんこんにちはALEXです。WEBアプリを開発するのに、まず使いたいのはHerokuですね。Herokuを使いこなせると、とても簡単にWEBアプリをリリースできます。当社でも大活躍しています。

 

ただ、Herokuにアプリをデプロイするまでが、なかなか大変な道です。私の生徒さんの中にも、デプロイの前に挫折しかかってしまう方が多いです。Google先生に聞きながら色いろいろやっているうちに、こんがらがってしまってそのまま・・・、となる方も多いかと思います。

ここでは、Python/FlaskでHerokuを使いたい方のために、Push時に起こるトラブルの内容と対策を紹介しますので、ご覧になってください。

今回の「ファイルのスペルを間違えてPushできない」はGoogleでも見つからないと思いますよ!!

<前提条件>

・Herokuのアカウントは取得済み

・HerokuのApp名は取得済み

・GitHubアカウント取得済み

・Git add . とgit commit -m ‘hogemoge’までは出来ている

 

Herokuにpushできない。

<事例1>ファイルのスペルを間違えてPushできない

Flaskを使ったアプリを作成し、ローカルでは動作確認できました。

ファイル構成は以下の通りです。

/flaskApp
│ ├── app.py #メインのアプリケーション
│ ├── Procfile  #
│ ├── Requirement.txt  #開発環境で使用しているモジュールをherokuに伝えるためのファイル。
│ ├── Runtime.txt  #アプリケーションのdynosがHerokuプラットフォーム上で実行するコマンドを宣言するためのメカニズム。
│ ├── templates/
│ │ ├── layout.html #共通部分のHTMLを記述
│ │ ├── index.html #アプリケーションで呼び出すHTML

これらのファイルをgitbashでgit add . と git commit を使ってコミットしました。そして最後にherokuにプッシュすれば完成です。

ここで、***はapp名です。

しかし、無情にも返ってきたのは以下のコードです。

「o default language could be detected for this app.」

と出ました、いったいなんだろう・・・・・。「Herokuにpushできない」ググってみると、色々出ます。いろいろ試してみました。でも借りません。この問題に直面した生徒さん丸々1日なやみました。

一緒にいろいろやりました。それでもうまくいかず、Herokuのチュートリアルのファイルを使ってみようということになり、クローンして、ひとまずこちらのファイルをフォルダに入れ替えました。

あ、(実は上に答えがあります)・・・・・

Requirement.txt じゃない。Requirements.txtだ

えー、そんなことでこんなエラー出るのかな?ひとまずpush

できました!!今度はしっかりdoneできました。

Procfile
Requirements.txt
Runtime.txt

の三つのファイルのスペルを間違えると、エラーが出ます。参考になさってください。

まとめ

いかがでしたか?このトラブルシュートはstackoverflowにもないと思います。三つの設定ファイルのスペルを間違えないようにしましょう。