python: Flaskアプリをherokuにアップする
備忘録です。
今回はFlaskで作ったアプリをherokuにアップする際の一連のコマンドをまとめます。
herokuへのアップ方法
①Gitのリポジトリへプッシュ
GitへログインしNewからリモートリポジトリを作成後、ターミナルで以下、コマンド順に入力
※今回はtestというアカウントのsampleというリポジトリとします。
1. ローカルリポジトリの作成
2. ローカルリポジトリにファイルを追加
3. コメントを入力
5. リモートリポジトリにファイルをpush
6. これ以降は編集後、追加するときは下記のように繰り返す。
②herokuへのプッシュ
0. gunicornとpsycopg2をpip3でインストール
上記を仮想環境でインストールすること
herokuにはCLIでログインする。まず、Procfileやrequirements.txtを作成
1. requirements.txtの作成
※このやり方はルートディレクトリでpip3でインストールしている全ても入ってくるので注意。
2. Procfileの作成
※gunicornを使用した例です。Gunicornは、PythonのWeb Server Gateway Interfaceを実装するHTTPサーバー。
3. herokuにアプリの作成
heroku loginでherokuにログインし
4. herokuでpostgresqlをセット
5. データベースのurlを取得
※herokuにプッシュする前にローカルで設定していたデータベースのurlをこちらに変更しgitにプッシュしておく。
※注意 app.config['SQLALCHEMY_DATABASE_URI'] = 'postgre: →'postgresqlに変更必要
6. リモートをつなぐ
※このurl部分はheroku createした際に表示される。
7. herokuへプッシュ
問題なければこれで公開されるが、herokuのデータベースをマイグレーションする
8. herokuのpythonインタープリンタに接続
9. マイグレーションの実行
※dbはデータベースを格納した変数名
ローカルで作成したデータはプッシュされないので注意
10. その他コード
その他
sqliteを使用する際にapp.pyでエラー対処で色々と設定したが、herokuにアップする際はそのままでOK