1. isort, black, flake8 사용하기 - 1
2. isort, black, flake8 설정하기 - 2
이전 포스트에서 isort, black, flake8를 간단히 사용해보았습니다.
이 패키지들은 코드스타일코드 스타일 일치를 위해 도와주는 툴입니다. 그리고 코드스타일에는 정답이 없습니다.
당연히 설정을통해 원하는 스타일을 추가하거나, 무시할 수 있습니다.
설정 파일 생성하기
3개의 패키지 설정 파일 모두 보통 .gitignore가 위치하고, manage.py가 위치하는 곳에 생성하시면 됩니다.
설정 파일이 3개여야 할 것 같은데, 두 개밖에 보이지 않습니다.
그 이유는 각 패키지들의 지원하는 설정파일 확장자에 관련이 있습니다.
black
- pyproject.toml
isort
- .isort.cfg
- setup.cfg
- pyproject.toml
- .editorconfig
flake
- .flake8
- setup.cfg
- tox.ini
black과 isort는 pyproject.toml 하나의 파일로 설정을 할 수 있습니다.
flake와 isort는 setup.cfg 하나의 파일로 설정을 할 수 있습니다.
취향대로 설정 파일을 관리할 수 있겠습니다.
(수많은 구글링 시에 설정 파일들이 제각각이어서 어떤 게 맞는지 엄청 헤매었습니다 😂 )
저는 isort와 black을 하나의 pyproject.toml에 설정하였고,
flake는 .flake8파일에 설정했습니다.
각 설정 파일은 touch 커맨드로 생성해주면 됩니다.
touch pyproject.toml
touch .flake8
isort와 black 설정하기
[tool.black]과 [tool.isort]로 나뉘어 하나의 파일에 설정을 한 모습입니다.
기본적인 설정만 해두었고, migrations와 gitignore등은 skip(or exclude)처리해두었습니다.
flake8 설정하기
역시 exclude설정으로 깃 관련, 마이그레이션, 캐시는 체크를 하지 않게 설정해두었습니다.
ignore에 관해서는 해당 페이지에 자세히 나와있습니다.
팀 프로젝트 수준에서는 ignore들을 초기에 어느 정도 설정하기보다
기본적인 세팅만 해 둔 후 추후 flake 체크 시 무시할만한 것이라면 ignore에 추가를 하는 것을 추천합니다.
체크 단계에서도 꽤 친절한 설명을 적어주지만, 위의 사이트에서 에러코드를 검색하듯 검색해보면 어떤 기준으로 체크하는지 볼 수 있습니다.
위에 나오는 W292를 한번 살펴보겠습니다.
마지막 줄의 공백 줄이 반드시 있어야 하며, 없기 때문에 체크가 된 것입니다.
이런 것들이 필요 없다면 ignore에 W292를 추가하시면 체크 시 이것을 건너뜁니다.
해당 3가지 툴을 한 번에 사용하는 방법은 다음 포스트에서확인하실 수 있습니다.
'Development > Python' 카테고리의 다른 글
pre-commit 사용하기 - 3 (0) | 2022.07.12 |
---|---|
isort, black, flake8 사용하기 - 1 (0) | 2022.07.11 |
Pipenv로 가상환경과 패키지를 한번에 관리하기 (0) | 2022.07.11 |