テクめも

プログラミング関連のちょっとしたTipsなどを書いています。

hackingとisortの競合を解決する

isortのデフォルトの設定では、例えば以下のようにソートされます。

import json
import time
from pathlib import Path
from urllib.parse import urljoin, urlparse

しかし、hackingを導入していると以下のようにエラーが発生します。

./main.py:3:1: H306: imports not in alphabetical order (time, pathlib.path)
./main.py:4:33: H301: one import per line

そこで、isortの設定をsetup.cfgなどに以下のように書くことで対応できます。

[isort]
force_single_line = true
force_sort_within_sections = true

再度、isortを実行すると以下のようにソートされ、hackingでも怒られません。

import json
from pathlib import Path
import time
from urllib.parse import urljoin
from urllib.parse import urlparse