Python

公開

Python 関連のめも

目次

開発環境を整える

Python でなんらかのプロジェクトをはじめるうえで共通して使えそうなパッケージとかをまとめる(2021/09/02 現在)。選択肢ありすぎてよくわからんというのが調べた感想。

Python バージョン、パッケージ(ついでにパッケージング)の管理

Poetry

最近来てる?パッケージ管理ツール。パッケージ管理と仮想環境の構築が簡単にできるので入れた方がよさそう。他の選択肢としてはPipenvなどがあるが、Poetry はさらにパッケージングまで行うことができるらしい。これらの情報はすべてpyproject.tomlに記述されている。

以下で.venvをプロジェクト配下に作成されるようにすると便利

poetry config virtualenvs.in-project true

また、Poetry で仮想環境を管理したくない場合は以下のようにして無効化できる。コンテナを使っているときとかあるいはembeddable package使っているときなどに便利そう。

poetry config virtualenvs.create false

pyenv

任意のバージョンの Python をインストールできる。任意のバージョンが必要なときに便利。

Poetry と併用して以下のように使える。

pyenv install 2.7.15
pyenv local 2.7.15  # Activate Python 2.7 for the current project
poetry install

テスト関連

pytest

Python のユニットテストライブラリでいまのところデファクトスタンダードらしい。ほかにもunittestnoseなどもあるが pytest の方が使い勝手がいいらしい。

tox

複数の Python バージョンでテストを実行するのに使われる。

スタイル関連

flake8

りんたー。最近一番使われている?他にもpylintなどが選択肢になる。flake8 は

  1. pep8(pycodestyle):PEP8 に準拠しているか
  2. pyflakes:論理エラー
  3. mccabe:複雑度

の計 3 つのラッパーらしいのでいろいろな観点を見てくれる。

black

フォーマッター。最近一番使われている?他にもautopep8などが選択肢になる。

個別のルール設定があまりできないらしい。ただ、個人的にはルール設定の自由度が高い個人の好みがでるだけなので、とくにマイナスにはならないと思ってる。

mypy

型チェックしてくれる。Python は 3.5 から型ヒントが導入されたけど、あくまでヒントであって型チェックはされない。ということでこいつの出番。

ドキュメント作成

Sphinx

知的で美しいドキュメントを簡単に作れるようにするツール

Python パッケージのドキュメントがよく同じようなフォーマットをしている正体。Docstring からドキュメントを自動生成してくれるのが非常に便利。

参考


プロフィール画像
tamaosa

釣りと登山が好き。

Privacy PolicyBuilt with Gatsby, © 2019 Tamaosa