こんばんは、日記15日目です。
明日はお休みします。何かして遊びます。
今日実現したいこと
Bottleを使って、Heroku上でHello Worldと表示すること。
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
確認します。
できたー!
参考にしたサイト
Heroku×bottleを使って4分33秒でWebアプリを公開する - Qiita
bottleとtweepyで作ったWEBアプリをherokuにデプロイしてみる | itachizame.net
Heroku×bottleを使って14分32秒でWebアプリを公開する - 暗号通貨.py
思ったこと・学んだこと
参考のサイトに4分でするとか14分でするとかありましたが、Gitを学んだところから数えると、7時間くらいかかりましたw
自分で目標を立てて、ネットで調べたり友達に助言してもらいながら手を動かすのってすごい大変でした。楽しいけど。Web記事によって、それぞれのゴールや環境が違うので、初心者の自分にはそれを理解するのにかなりの時間がかかりました。なので、当面はPyQかProgateをやって基礎を固めてから、またこういうことをやろうと思います。いろいろ助言してくれたBちゃん、Mくんありがとう。