1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

いちばんやさしいpythonの教本のpybotをHerokuでデプロイする方法

Posted at

いちばんやさしいpythonの教本

https://www.amazon.co.jp/いちばんやさしいPythonの教本-人気講師が教える基礎からサーバサイド開発まで-「いちばんやさしい教本」シリーズ-鈴木たかのり

Pythonを勉強するにあたり、progateに加えて、この教本を読んだ。
ローカル環境までのPybotの実装は比較的すんなり完了。(もちろん感動)

であれば、実際にWeb上にもデプロイしたい!と思い試行錯誤した記録をここに残します。

まず参考にしたのはこちらのページ

いちばんやさしいpythonの教本のpybotをデプロイする方法

もうね、そのままなんです。タイトルにはないけどこれも(Heroku)。
これそのままですが私なりにやったデプロイ方法を残します。

##1.環境構築

よくあるままです。
1 git
2 Python3
3 Heroku toolbelt
→3 Herokuについてはユーザ登録必須。詳細は他の記事を参考にしてください。

まずコマンドプロントにて「cd (フォルダ名)」でpybotweb一式が格納されているフォルダを選択し、仮想環境を作成・有効化。

C:Users¥(ユーザー名)¥(フォルダ名)
python -m venv env
envScriptsactivate.bat
#¥はここでは大文字ですが小文字です

pipを最新版にアップグレード

python -m pip install --upgrade pip

各パッケージのインストール

pip install requests
pip install bottle
pip install wikipedia

後で使うので各パッケージのバージョンをそれぞれメモしておく。

##2.コード作成
教本で作ったPybotweb.pyを若干書き換える必要があります。
私は試行錯誤の時に使ったサンプルコードを使用しました。

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化を目標にします。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?