python

isortでPython PEP8に準拠したpackageの並びにする

isortを入れるべき理由

パッケージのimpotには適切な順番がある

pythonでパッケージをインストールする為に、

import文をソースコードの上部書いていると思います。

実はこれって順番が決まっているんです。

個人での開発ではそこまで気にならないと思いますが、

適切な順番で並んでいないとレビュー時に指摘を受けます。

私も幾度となく指摘を受け、isortの重要性を認識しました。

今では、isortで並び替えないと気持ち悪いと思うまでになりました。

PEP8に従う

PEP8とは、Pythonのスタイルガイドです。

基本的に、PEP8に準拠したソースコードが正解です。

https://www.python.org/dev/peps/pep-0008/#imports

PEP8のimportに関して以下のような記載があります。

Imports should be grouped in the following order:

importは次の順序でグループ化する必要があります。

  1. Standard library imports.(標準ライブラリ)
  2. Related third party imports.(サードパーティ関連)
  3. Local application/library specific imports.(ローカルアプリケーション/ライブラリ固有)

You should put a blank line between each group of imports.

importの各グループの間に空白行を挿入する必要があります。

しかし、パッケージの順番なんて覚えられないため、

適切な順番に並び替えてくれる便利なライブラリがあります。

それがisortです。

isortのインストール方法

インストールは簡単です。

pip install isort

isortの使用方法

例えば、以下のようなpythonのソースコードがあったとします。

isort前

sample-isort.pyというファイルを作成します。

import os
import numpy as np
import pandas as pd

import sys

import json

バラバラに並んでますね。

では、実際でisortを使って並び替えましょう。

並び替え方はファイル名にisortをつけるだけ。

isort sample-isort.py
Fixing isort_sample.py
と出ればOKです。

isort後

isortを実行すると以下のように並び変わります。

import json
import os
import sys

import numpy as np
import pandas as pd

簡単なことですが、知っているのと知っていないのでは大きな差になります。

忘れず、インストールして使っていきましょう。

ABOUT ME
ロッピー
コンサルタントから2018年にエンジニアに転向。年収400万円のサラリーマンエンジニアから、半年で月収100万円を稼ぐエンジニアになった。 Python、Golangなど単価の高い言語を得意とする。