2019-05-11

Pipenvのテンプレを作った

前回の最後に触れた、仕事で経験を得た2019年のイケてそうなPython開発環境構築について。

この度新し目と思われるPythonのプロジェクト構築について学んだので、次回Pythonを触ることがあったとしてもぱぱっと始められるようにテンプレートを作ろうと思った次第である。

過去のeasy_installとかpipまでで知識が止まってたが、新たにpipenvを知ってかなり便利に使えるいい感じの印象を得たのもあって、動機付けされた感じ。

なので、勉強がてらGW中のお楽しみにちょろっと作った。

作ったもの

krymtkts/pipenv-skeleton

いろいろとググって、pipとかvirtualenvの時代は過ぎ去っており、いまはpienvがイケていると直感を得た。 なのでpipenvについて以下の記事などを参考にこのテンプレを作った。

予めLinterやらFormatterやらをdevPackageとして用意している。LinterにはPylintを用意したが、エラーの自動修正がないようなのでautopep8も用意した。

あと静的型付けに守られた世界で仕事できるように、MyPyも用意している。Better Bashとして使うときは大げさかもしれないけど、その時は単にMyPyを使わなかったらいいだけ。

このプロジェクトをコピペして、moduleのところをこねこねして使うイメージ。

Pythonのモジュールシステムについてはまだ理解が浅い。以下を参考にドキュメントをあたって、__init.py__,__main.py__のらへんを定型化した感じ。

ただ、__init.py__は名前空間パッケージではなくていいようだし、よりモダンな方法に寄せたいので再検討するかな。単に今はわたしの知識がそこまで及んでない😭Pythonの言語仕様もちゃんと勉強したいのう。

いろいろ足りない点があるが、それらは今後改善できれば良いかな。

  • moduleの名前をいろいろ変えないといけないのが面倒なので、なんか改善ができれば良。

  • テストがないので足したい。

  • なんかバッジ足したい。ビルドとか...

  • mypyで

まとめ

Python3たのしい。

せっかくテンプレを作ったので、なんかゴミスクリプトでも良いのでちまちま書いていきたい所存🤔

mypyについてもメモためていこ。