Black CLI

Pear_Mh·2022년 8월 3일
0

목적/경위
파이썬 커뮤니티에서 널리 사용되고 있는 Black 코드 포멧터에 대한 설명입니다.

0. 개요

  • 파이썬 커뮤니티에서 가장 널리 쓰이고 있는 코드 포맷터입니다.
  • 하나의 코드 스타일을 기준으로 모든 개발자가 일관성 있는 코드를 작성하는 것이 장점입니다.

구동 코드

## Install
$ pip install black # Python code
$ pip install black[jupyter] # Jupyter notebook code

## Check for formator(optional)
$ black --check (filename).py
'''
would reformat filename.py
Oh no! 💥 💔 💥
1 file would be reformatted.
'''
## Case 1: Config Python
black (filename).py
'''
reformatted filename.py
All done! ✨ 🍰 ✨
1 file reformatted.
'''
## Case 2: Config Jupyter
black (filename).ipynb

포멧팅 미적용 구분 적용 방법

fmt: off fmt: on 을 통해 원하는 구분에는 포멧팅이 적용되지 않게 할 수 있습니다.

def main():
    if args.saved_checkpoint == 'torchscript':
        model = torch.jit.load(pretrained_pth)
## 아래 구문이 오히려 포맷을 적용하지 않았을 때 가독성이 좋을 경우,
# fmt: off
    elif args.saved_checkpoint == 'ckpt':
        model = UNETR(
            in_channels=args.in_channels,
            out_channels=args.out_channels,
            img_size=(args.roi_x, args.roi_y, args.roi_z),
            feature_size=args.feature_size,
            hidden_size=args.hidden_size,
            mlp_dim=args.mlp_dim,
            num_heads=args.num_heads,
            pos_embed=args.pos_embed,
            norm_name=args.norm_name,
            conv_block=True,
            res_block=True,
            dropout_rate=args.dropout_rate)
# fmt: on
        model_dict = torch.load(pretrained_pth)

추가적인 옵션

-l : 한 라인의 최대 글자 수(default: 88)

-diff : 파일을변경하지 않고 변경되는 부분을 콘솔로 표현

-color : -diff 를 사용했을 떄 변경점에 색을 입혀 가시성 추가

ex)

$ black (filename).py -l 80 --diff --color

1. VScode에서 black 적용하는 법


1) Prettier 설치

  • 마켓 플레이스에서 prettier를 설치합니다.

2) Formatter 설정

Default Formatter

  • ctrl+,를 눌러서 설정으로 들어갑니다.
  • 검색창에 formatter를 치면 default formatter를 설정할 수 있습니다.
  • Prettier를 선택해주세요.

Auto save

  • 저장을 할 때 자동으로 formatter를 적용할 수 있도록 Auto Save를 설정해줍니다.

Python 설정

  • ctrl + shift + p 를 눌러서 setting을 검색합니다.
  • 기본 설정: 설정 열기 (Open Settings)를 클릭합니다.
  • 아래 코드를 추가합니다.
    "[python]": {
        "editor.defaultFormatter": "ms-python.python"
      },

3) Black 적용

Black 설치

  • 사용하고자 하는 파이썬 환경에 black을 설치해줍니다.
$ pip install black
  • 간혹 적용이 안될 때가 있는데, 이때는 다른 conda 환경에 설치해서 그럴 수도 있습니다.
  • ctrl + shift + p 를 눌러서 select interpreter를 검색한 후에, 설치된 환경으로 변경합니다.

Black 설정

  • ctrl+,를 눌러서 설정으로 들어갑니다.
  • black을 검색합니다.
  • 항목 추가를 눌러서 다음과 같은 항목을 추가합니다.
    • —line-length
    • 120

3. 사용 예


profile
Beyond the new era.

0개의 댓글