Make it possible with Python.

最近Pythonから離れ気味、その他物作りに寄り気味です。

herokuでPython3.4 Flask のサンプルアプリケーション動作確認!

前回のheroku挫折からしばらく経過。

python関係の記事が増えてきたようなので、再度チャレンジし、今回は動かすことができたので、学んだことをメモ。

このチュートリアルに沿って実施。 Flask を触ってみる + Heroku で動かす - Qiita

詰まった箇所

"Procfile"のファイル名を小文字の"procfile"としていたことで認識せず、以下のエラー

Mis-cased procfile detected; ignoring. Rename it to Procfile to have it honored.

Procfile declares types -> (none)

しかし先頭文字を大文字にして上書き保存してプッシュしても認識せず。ローカルファイルを一度削除して、コミット、プッシュし、その後再度再度作成、コミット、プッシュしたら認識した。Windowsは大文字、小文字の区別がないので、ファイル名を変えてもgitシステムで変更が認識できなかったりするのだろうか。

HerokuへのデプロイはSourceTreeのGUIからは行えない?

わからなかったのでコマンドプロンプトのGitから実施した。 コマンドプロンプトのGitをはじめて使った。Gitでaddとかcommitとかpushとかをするときは、cdコマンドで該当フォルダに移動して行えば、.gitフォルダから必要な情報を読んでくれるのか。情報にはremoteレポジトリの情報も含まれているから、その登録名だけを使ってプッシュができる。

その他学んだこと

Procfile, Requirements.txt はいずれもルートフォルダに入れる

当たり前すぎて記載のないページが多数。

procfileは複雑でなくてもよく、基本は1行程度

procfile · herokaijp/devcenter Wiki · GitHub Deploying Python Applications with Gunicorn | Heroku Dev Center

gunicornはWSGIサーバー

flaskのサーバーより効率的に動いてくれるとか。 基本は以下のコマンドで起動すればいいので、これをProcfileに書く。

gunicorn hello:app --log-file -

herokuもテキスト形式はUNIX標準にあわせる

herokuなどweb関連サーバーは基本的にunix系なので、 文字コードutf-8 と 改行コードLF になるようすべてのツールを設定すべき。 → sublime text2 もデフォルトはシステム改行コードをそのまま使う設定だったので修正した。

SSHキーを使わなくてもデプロイはできてしまう

SSH Git transportを使いたければSSHキー登録が必要と記載があった。ということは、SSHキーが登録成否はデプロイとは別に確認が必要。 Managing Your SSH Keys | Heroku Dev Center