こんばんは、Python日記13日目です。
今日は、昨日Webアプリ化したBOTをHerokuを使ってデプロイ?しようとしたのですが、うまくいきませんでした。ちょっとハードル高すぎたかもです。振り返ります。
実現したいこと
herokuでBOTをWebで公開したい。
試したこと
こちらのサイトを参考にしました。
bottleとtweepyで作ったWEBアプリをherokuにデプロイしてみる | itachizame.net
BottleアプリをGitからHerokuにプッシュするというのが大きな流れだと思う。
・前提
Python3/pip/Bottle インストール済
・スクリプトを変更
最下部のrun関数の部分を変更。ホスト・ポート部分を上記サイトの通りに変更。
ホストがlocalhostのままではいけないというのは分かるが、os.envisionがどういう意味なのかは分かってない。
from bottle import route, run, template, request from pybot3 import pybot @route('/hello') def hello(): return template('pybot_template', input_text='', output_text='') @route('/hello', method='POST') def do_hello(): input_text = request.forms.input_text output_text = pybot(input_text) return template('pybot_template', input_text=input_text, output_text=output_text) #アプリケーションの起動 if os.envision.get('APP_LOCATION') == 'heroku': run(host="0.0.0.0", port=int(os.envision.get("PORT", 5000))) else: run(host='localhost', port=8080, debug=True, reloader=True)
・Heroku無料アカウント取得(できた)
・Heroku上にリモートリポジトリ作成(できた)
・ローカルリポジトリ作成(できてない)
コマンドプロントでBottleアプリのディレクトリまで移動し、仮想環境を作成し(外部のライブラリがここにインストールされてる)、、、上記サイト通りにコマンド入れていきました。
ここがうまくできていない気がする。Gitでローカルリポジトリ作成したが、Githubには反映されていない。
・ファイルの準備(怪しい)
以下のファイルをBottleアプリのルート直下に入れる必要がある。
-Procfile
ーruntime.txt
ーrequirements.txt
できてると思っていたが、ルート直下とは?
同じディレクトリ内に入れただけだった。ファイルの作成はできた。
・Herokuにアプリをプッシュ(できた)
いろいろコマンド押して、heroku openしたが、何も起こらず。くっ。。。
まとめ
ハードル大きすぎたかも。Gitの使い方を理解していない、エラーメッセージをどうやって取るかも分からないなど。
でも、自分の力だけではどうにもならないことは分かった。次のもくもく会にこれを持っていこうか。