HerokuにFlaskで作ったサイトをアップするサンプル.

目次

  1. Herokuへのプロジェクト追加
  2. ファイル
    1. app.py
    2. requirements.txt
    3. Procfile
  3. デプロイ

Herokuへのプロジェクト追加

次のようにしてプロジェクトを追加できる.

mkdir example
cd example
heroku create

ファイル

exampleディレクトリ内で以下の3ファイルを用意する.

  • app.py
  • requirements.txt
  • Procfile

app.py

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
return 'hello, world'

if __name__ == '__main__':
app.run()

JSONを返したいなら,途中のreturn

return jsonify({"key": "value"})

とすればよい.

requirements.txt

pip freeze > requirements.txtで取得できる.
今回必要な部分は以下の通り.
右辺はバージョン.

Flask==2.0.2
gunicorn==20.1.0

Procfile

web: gunicorn app:app --log-file=-

最初のappの部分はapp.pyの拡張子を除いた部分を指定している.

デプロイ

exampleディレクトリで,これらをプッシュするには

git add .
git commit -m "heroku proj."
git push heroku main

とする.