いちばんやさしいpythonの教本
https://www.amazon.co.jp/いちばんやさしいPythonの教本-人気講師が教える基礎からサーバサイド開発まで-「いちばんやさしい教本」シリーズ-鈴木たかのり
Pythonを勉強するにあたり、progateに加えて、この教本を読んだ。
ローカル環境までのPybotの実装は比較的すんなり完了。(もちろん感動)
であれば、実際にWeb上にもデプロイしたい!と思い試行錯誤した記録をここに残します。
まず参考にしたのはこちらのページ
いちばんやさしいpythonの教本のpybotをデプロイする方法
もうね、そのままなんです。タイトルにはないけどこれも(Heroku)。
これそのままですが私なりにやったデプロイ方法を残します。
##1.環境構築
よくあるままです。
1 git
2 Python3
3 Heroku toolbelt
→3 Herokuについてはユーザ登録必須。詳細は他の記事を参考にしてください。
4
まずコマンドプロントにて「cd (フォルダ名)」でpybotweb一式が格納されているフォルダを選択し、仮想環境を作成・有効化。
C:¥Users¥(ユーザー名)¥(フォルダ名)
python -m venv env
env¥Scripts¥activate.bat
#¥はここでは大文字ですが小文字です
pipを最新版にアップグレード
python -m pip install --upgrade pip
各パッケージのインストール
pip install requests
pip install bottle
pip install wikipedia
後で使うので各パッケージのバージョンをそれぞれメモしておく。
##2.コード作成
教本で作ったPybotweb.pyを若干書き換える必要があります。
私は試行錯誤の時に使ったサンプルコードを使用しました。
import os #一行目に追加
#run(host='localhost', port=8080, debug=True) //これをコメントアウト
run(host="0.0.0.0", port=int(os.environ.get("PORT", 5000))) #←最終行に追加
Procfileの作成。コマンドプロント上で可能です。ちなみに拡張子は不要。
echo web: python pybotweb.py > Procfile
requirements.txtの作成。コマンドプロント上で可能です。ちなみに拡張子は.txt
pip freeze > requirements.txt
runtime.txtの作成。python3のバージョンを調べておきましょう。
「python --version」でわかります。ちなみにあってもなくてもいいものらしい。一応作りました。
echo python-3.8.1(バージョンを入力) > runtime.txt
##3.Heroku(へろく)でデプロイ
ログインとアプリの作成。ちなみに無料アプリは5個までです。
6個目を作ろうとするとエラーが出ます。
heroku login
heroku create
gitの初期ファイルの作成
git init
リモートリポジトリの作成
heroku git:clone -a (heroku createしたときにつけられたアプリ名称)
git add .
ここからが私がつっかえたところ。
pybotwebには、「pybotweb.py」だけではなくその他もろもろtxtファイルならなんやらがあると思います。
それらを全部gitに追加する必要がありました。
git add (pybotweb.py以外のすべてのファイル)
そこからは一般的なやり方でOK.
git commit -m "initial commit"
git push heroku master
ここでクリアしたらついにデプロイ。
heroku open
あとは
https://qiita.com/sr2460/items/9f65474a63cfb0a2e407
の通りです。
Webサーバー上にあなたのpybotが乗っかっている!
感動もひとしお。
次はLinebot化を目標にします。