sxxk2
_
sxxk2
전체 방문자
오늘
어제
  • all (19)
    • Development (6)
      • Python (4)
      • Django (1)
    • Computer Science (11)
    • Others (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
sxxk2

_

isort, black, flake8 설정하기 - 2
Development/Python

isort, black, flake8 설정하기 - 2

2022. 7. 12. 01:20

 

1. isort, black, flake8 사용하기 - 1

2. isort, black, flake8 설정하기 - 2

3. pre-commit 사용하기 - 3


이전 포스트에서 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에 추가를 하는 것을 추천합니다.

 

https://www.flake8rules.com/

체크 단계에서도 꽤 친절한 설명을 적어주지만, 위의 사이트에서 에러코드를 검색하듯 검색해보면 어떤 기준으로 체크하는지 볼 수 있습니다.

 

위에 나오는 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
    'Development/Python' 카테고리의 다른 글
    • pre-commit 사용하기 - 3
    • isort, black, flake8 사용하기 - 1
    • Pipenv로 가상환경과 패키지를 한번에 관리하기
    sxxk2
    sxxk2

    티스토리툴바