ビットの海

ゆるふわアラサーエンジニアしゃぜのブログ

isortで特定のimportを必ずtopに持ってきたい

やんごとなき事情により、そういうことをしたい時がある。

元のサンプル(foo.py)

import os
import math


class Foo:
    def foobar():
        print(os.getpid())
        print(math.pi)


if __name__ == "__main__":
    Foo.foobar()

checkするとimport順序で怒られる(アルファベット順でosよりmathが先じゃろって)

isort --check-only foo.py
ERROR: /Users/foobaruser/python-test1/foo.py Imports are incorrectly sorted.

.isort.cfg に force_to_topしてみる

[settings]
force_to_top=os

エラーにならない

isort --check-only foo.py