見出し画像

【プログラミング】heroku上にpythonのアプリを作成する. - plotly dash環境作成.

前回,heroku上にpython appのチュートリアルを作成しようとしたが,失敗に終わった.原因がわからなったので,今回は本来の目的であるplotly dashの環境を作成しようと思う.
今回の流れは以下となる予定.
※色々試行錯誤した結果,最終的に無事に表示されることが出来ました.

1.ローカルにplotly dashの環境を構築
2.herokuにデプロイ

※.一応全体の流れ(予定)

1.HerokuのPythonチュートリアルをやる.(← 前回.ただし失敗)
2.plotly dashを実装する.(← 今回.一応成功)
3.サーバー上でGoogle Analyticsのデータを取得して可視化

1.ローカルにplotly dashの環境を構築

公式をそのまま真似をする.
(その前に必要なモジュールはインストールしておく.)
私の場合は公式のソースをコピーしてapp.pyというファイル名で保存.
以下のコマンドで実行.

python app.py
画像1

ローカル環境は無事に成功.

2.herokuにデプロイ

次に,heroku上にデプロイをする.
そのためにまずは必要なファイルを用意する.

・Procfile
・requirements.txt
・runtime.txt

それぞれのファイルの中身は以下になる.

Procfile

web: gunicorn app:server --log-file -
requirements.txt

dash
dash_core_components
dash_html_components
gunicorn
runtime.txt

python-3.7.1

あとは,heroku上にappを作成して,デプロイするだけ.
以下のコマンド実行.

# アプリ作成
heroku create アプリ名
# 初期化
git init
# ディレクトリは配下のファイルをコミット対象にする
git add .
# コミット
git commit -m "first commit"
# リモートリポジトリの確認
git remote
> heroku

# リモートリポジトリの追加
git remote add heroku createアプリした時に出てくるgit url
# デプロイ
git push heroku master
# アプリ起動(?)
heroku ps:scale web=1
# アプリ確認
heroku open

ここまでコマンド実行すると,ブラウザがたちが上がりアプリが起動する.

画像2

まさかのエラー.
色々検索した結果,元々のソースを少し改良.
(原因はわからず.)

external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
app = dash.Dash(__name__, external_stylesheets=external_stylesheets)

↓

app = dash.Dash(__name__)
app.css.append_css({"external_url": "https://codepen.io/chriddyp/pen/bWLwgP.css"})
server = app.server

改めて,add,commit,pushする.
すると,

画像3

無事に表示された.
(ここまで3時間くらいかかりました.)

次回はGoogleAnalyticsのデータを取得して,可視化を目指したいと思います.(一応成功します.)
※参考:次回の完成版↓

※記事の内容に関して問題がありましたらご連絡ください.速やかに対処いたします.その他ご意見も.(優しくお願いします.)


PCとスマホ,wifiだけを持って全国をのんびり旅したい.