過去に何度かbottle
は触っていたが、また久しぶりに触ってみようと思った。
bottleをセットアップして、触り出すまでの備忘録。
https://bottlepy.org/docs/dev/
bottleでのアプリ開発セットアップ
今回はpipenv
を使って試していく
使用するPythonのバージョンは 3.7.2
pipenv --python 3.7.2
pipenv
を使ってbottle
をインストール
pipenv install bottle
まずはbottle
を動かしてみるために、公式にあるhello worldを動かす。
from bottle import route, run, template @route('/hello/<name>') def index(name): return template('<b>Hello {{name}}</b>!', name=name) run(host='localhost', port=8080)
Pipfile
に下記の2行を追加する
[scripts] dev = "python3 main.py"
あとは下記のコマンドを実行して、http://localhost:8080/hello/world にアクセスしてみる
pipenv run dev
ここまでで最初の動作確認はOK
Pythonでもフォーマットと文法チェックをサクッと行いたい
ここの設定についてはどこかの記事を参考にさせていただいていたと思うが、参照先を失念してしまった。
検索して上の方に出ていた記事だったとは思うので、見つけたら後ほど貼っておく。
flake8
autopep8
flake8-import-order
をインストールする
pipenv install --dev flake8 autopep8 flake8-import-order
そしてfmt
コマンドと lint
コマンドをそれぞれ定義
[scripts] dev = "python3 main.py" fmt = "autopep8 -ivr ." lint = "flake8 --show-source ."
コードフォーマットしたいときは pipenv run fmt
を叩くことでフォーマットしてくれる
文法チェックしたいときは pipenv run lint
を叩くことでチェックしてくれる。
これで最低限の開発はスタートできそう。
pre-commitについて
pre-commitというPython製のツールを見つけた。
ちなみにPythonだけじゃなく、例えばNode.jsとかでも使えるらしい
git hooksの仕組みを使ったツール?みたいで試してみようかと思ったが、セットアップがちょっと長くなりそうだったのでここではやめた。
fmtやlintが通ったときのみ、コミットできるようにしておくのは良いかもしれない。
今度試してみよう。