15. HerokuでHello Worldしてみる。(Bottleを使います)

こんばんは、日記15日目です。
明日はお休みします。何かして遊びます。

今日実現したいこと

Bottleを使って、Heroku上でHello Worldと表示すること。

前提

Windows8 64bit
Heroku登録済
Heroku ToolBelt インストール済
Python 3.6.5

1.環境構築(この言葉使うのハズい。)

mkdir testing 
cd testing
python -m venv env #仮想環境作成
env\Scripts\activate\.bat #activate
git init #Git repository 初期化

ここでハマりました。最初に、ディレクトリ名:Bottleとしてmkdirしたところ、
Herokuにデプロイ後にURLにアクセスした際にエラー発生。

調べたところ、ディレクトリ名をBottleにするとそれが邪魔してBottleライブラリを呼び出せなくなるとあったので、一からやり直しました。
ImportError: cannot import name route in python bottle - Stack Overflow


2.Hello World アプリ作成

pip install bottle
import os
from bottle import route, run

@route("/")
def hello_world():
    return "Hello World!!"

run(host="0.0.0.0", port=int(os.environ.get("PORT", 5000)))

3.Heroku公開用のファイル作成

pip freeze > requirements.txt
echo web: python test.py > Procfile

ここでハマりました。他サイトを見ながらコピペしてしまった為に、Procfileに間違ったファイル名.pyと書き込んでしまい、エラーが出ました。

git add .
git commit -m "initial commit"

コミット。

Herokuアプリ作成、公開

heroku log in 
heroku create 

Herokuにログイン。Create。

Creating app... done, arcane-harbor-94383
https://arcane-harbor-94383.herokuapp.com/ | https://git.heroku.com/arcane-harbo
r-94383.git

Create後、以下のように”arcane-harbor-94383”と作成してくれます。

heroku git:remote -a "アプリ名"

アプリ名の所に、”arcane-harbor-94383”と入れます。
これで、ローカルレポジトリとリモートリポジトリがリンクされます。

git push heroku master 

公開します。deploy doneと返ってきます。

heroku open

確認します。

f:id:xsatsukix:20180512212649j:plain
できたー!

思ったこと・学んだこと

参考のサイトに4分でするとか14分でするとかありましたが、Gitを学んだところから数えると、7時間くらいかかりましたw
自分で目標を立てて、ネットで調べたり友達に助言してもらいながら手を動かすのってすごい大変でした。楽しいけど。Web記事によって、それぞれのゴールや環境が違うので、初心者の自分にはそれを理解するのにかなりの時間がかかりました。なので、当面はPyQかProgateをやって基礎を固めてから、またこういうことをやろうと思います。いろいろ助言してくれたBちゃん、Mくんありがとう。