flake8

2020년 7월 3일 수정

flake8Python 코드를 점검해 주는 도구이자 파이썬 패키지다. 일부 오류가 있을 법한 코드나 사용하지 않는 import 등등 여러 문제점을 알려주면서 PEP8 코딩 컨벤션에 맞지 않는 것도 (매우 귀찮게) 알려 준다.

설치

파이썬 패키지이기 때문에 pip로 그냥 설치할 수 있다.

pip install flake8

사용법

CLI로 그냥 실행시키면 된다.

flake8 /foo/bar/some/file.py

이렇게 하면 체크된 내용을 텍스트로 알려 준다.

근데 요즘은 이렇게 단독으로 실행시키기 보다는 에디터나 IDE 등에서 자동으로 호출해서 체크하는 방식으로 동작하는 경우도 많기 때문에 굳이 손수 실행시킬 일은 거의 없는 것 같다.

설정 파일

전역 설정 파일은 ~/.config/flake8 파일에, 프로젝트 단위 설정은 프로젝트 루트에 .flake8 혹은 setup.cfg 파일로 설정 내용을 작성할 수 있다.

대충 아래와 같은 식으로 작성한다.

[flake8]
max-line-length = 80
ignore = F123, E456
exclude = file_to_exclude.py

위 내용은 대충 이렇다:

max-line-length
컬럼 사이즈
ignore
체크하지 않을 에러 코드
exclude
체크하지 않을 파일 목록

물론 설정 내역은 이 보다 더 광범위할 수 있으니 공식 매뉴얼을 참조하자.

파일 별로 일부 경고 무시하기

커맨드 라인 옵션으로 특정 체크를 무시할 수 있다.

flake8 --ignore F123,E456 FILEPATH

근데 이렇게는 별로 안 쓰일 것 같다.

소스 코드에서 특정 라인 하나만 무시하려면 라인 끝에 아래와 같은 주석으로 표기가 가능하다.

pass  # noqa: F123,E456

코드를 표기하지 않고 noqa 만 명시하면 모든 오류 체크가 무시된다.

위와 비슷하게 아래처럼 아예 해당 파일의 체크를 하지 않게 할 수도 있다.

# flake8: noqa

외부 링크

  • 🌏파이썬 코드 문법 검사기 flake8: 이 글과 거의 동일한 내용이다. 왜냐하면 지금은 사라진 이 글의 원본 글을 기반으로 쓰여졌고 이 글도 원본 글과 거의 같기 때문이다.😏