macOS 파이썬 백엔드 개발환경 설정

ghwn·2022년 2월 19일
2

맥북을 초기화할 때마다 뭘 설정해야 하는지 기억하는게 귀찮아서 작성한 글입니다.

이 글은 macOS Ventura 13.0.1 운영체제를 기준으로 작성되었습니다.

Command Line Tools for Xcode 설치

기본적인 컴파일러 및 지원 유틸리티를 제공합니다.
앞으로 설치할 소프트웨어들이 이를 필요로 하기 때문에 먼저 설치합니다.

$ xcode-select --install

Homebrew 설치

Homebrew는 Ubuntu 운영체제에서 apt 패키지 관리자와 같은 역할을 수행합니다.
https://brew.sh 사이트에 접속하면 나와있는 명령어를 그대로 실행하여 설치합니다.

homebrew

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

설치가 끝나면 터미널에 표시되는 Nest Steps 도 실행합니다. 그리고 나서 터미널을 다시 실행합니다.

Rectangle 설치

열린 창들을 깔끔하게 정렬해주는 프로그램입니다.

$ brew install --cask rectangle

처음 실행하면 [Open System settings] - [손쉬운 사용] 에서 Rectangle 앱을 허용해줘야 합니다.

vim 설정

vim 사용 시 아래의 기능을 활성화하려면

  • 문법 하이라이팅 기능 활성화
  • 탭 문자 대신 4개의 스페이스 바 사용
  • 상태바 항상 표시 (지금 무슨 파일을 편집하고 있는지 확인하려고)

~/.vimrc 파일을 열고 아래 내용을 입력한 뒤 저장하세요.

if has("syntax")
    syntax on
endif

set shiftwidth=4
set tabstop=4
set expandtab
set laststatus=2

oh-my-zsh 설치

macOS에서 사용하는 zshell을 더 기능적으로 만들어줍니다.

저 같은 경우

  • 깃 관련 정보 (현재 작업 중인 브랜치 정보, 스테이지 상태 등)를 항상 출력해준다는 점
  • 명령어를 자동 완성해준다는 점

때문에 사용하고 있는데요. 설치하려면 https://ohmyz.sh/#install 사이트에 나와 있는 명령어를 실행하면 됩니다.

$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

oh-my-zsh 테마 변경

oh-my-zsh은 여러 가지 테마를 제공합니다. 어떤 테마가 있는지 보려면 이 링크에서 확인할 수 있습니다 (다운로드 할 필요 없음).
적용하고 싶은 테마의 이름을 ~/.zshrc 파일의 ZSH_THEME 부분에 적고 터미널을 재시작하면 됩니다.

개인적으로 선호하는 테마는 ys, half-life 입니다.

zshrc

iTerm2 설치

기본 내장된 Terminal 앱 대신 사용할 수 있는 터미널 앱입니다.
창 분할 기능(cmd + D, cmd + shift + D)과 보기 편한 테마들 때문에 사용하고 있습니다.

아래 명령어를 통해 설치합니다.

brew install --cask iterm2

iTerm2 테마 변경

이 링크에서 다양한 테마를 확인할 수 있습니다.

마음에 드는 테마를 다운로드하고 iTerm2 앱에서 [Preferences...] - [Profiles] - [Colors] - [Color Presets...] - [Import...] 순서로 다운로드 한 테마를 불러와서 적용할 수 있습니다.

단, 다운로드 된 테마 파일이 .txt 확장자로 저장되는 경우가 있는데 지워주시고 .itermcolors 확장자로 만들어주세요.

개인적으로 선호하는 테마는 Mariana 입니다.

iterm2-color-presets

키 맵핑 프리셋 변경

iTerm2를 처음 설치하고 나면 [command] + [화살표 키] 또는 [option] + [화살표 키]를 눌렀을 때 커서가 한 단어씩 또는 라인 끝으로 이동하지 않는 문제가 있는데, 키 맵핑 프리셋 설정을 하면 됩니다.

iTerm2 앱에서 [Preferences...] - [Profiles] - [Keys] - [Key Mappings] - [Presets...] - [Natural Text Editing] 순서로 클릭합니다.

key-mapping-presets

이때 이런 화면이 나오는데 Remove 누르면 됩니다.

load-preset

pyenv 설치

macOS에는 기본적으로 파이썬 시스템 인터프리터가 내장되어 있습니다.

프로젝트를 진행하다 보면 여러 가지 버전의 파이썬을 사용하게 되는데, pyenv를 사용하면 쉽게 여러 가지 파이썬 버전을 설치할 수 있습니다.

pyenv 를 설치하려면 이 링크에서 설명하는대로 아래와 같이 명령어를 입력합니다.

brew update
brew install pyenv

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

(선택사항) 제대로 설치되었는지 확인하려면 터미널을 다시 실행하고 아래 명령어를 실행하세요.

$ pyenv versions
* system (set by /Users/you/.pyenv/version)

이제 파이썬을 설치해야 하는데 어떤 버전을 설치할 수 있는지 보려면 아래와 같이 실행하세요.

$ pyenv install --list

# 목록이 너무 많다면
$ pyenv install --list | grep 3.x  # 원하는 버전 필터링

아래와 같이 원하는 파이썬 버전을 명시해서 파이썬을 설치하세요.

$ pyenv install 3.x.x  # (원하는 버전 명시)

그리고 원래 내장되어 있던 파이썬 대신 새로 설치한 파이썬을 사용하려면 아래와 같이 전역 파이썬을 설정해주세요.

$ pyenv global 3.x.x  # (전역 파이썬 버전 설정)

아래와 같이 설치한 버전이 잘 출력된다면 잘 설치된 것입니다.

$ python --version
3.9.15

$ which python
/Users/you/.pyenv/shims/python

$ which pip
/Users/you/.pyenv/shims/pip

$ pip --version
pip 22.0.4 from /Users/you/.pyenv/versions/3.9.15/lib/python3.9/site-packages/pip (python 3.9)

Poetry 설치

프로젝트 간의 파이썬 패키지 환경을 분리하기 위해 가상환경을 설정하는 도구입니다.

$ pip install poetry
또는
$ brew install poetry

Poetry 는 기본적으로 ~/.poetry 디렉터리 내부에 복잡한 이름으로 가상환경을 생성합니다. 만약 프로젝트 내부에 .venv 라는 이름으로 가상환경을 설치하는 것을 선호하신다면 아래 명령어를 실행해주세요.

$ poetry config virtualenvs.in-project true

시스템 환경설정

키보드

불필요한 기능을 비활성화합니다.

[시스템 설정...] - [키보드] - [텍스트 입력] - [편집]에서

  • 맞춤법 자동 수정
  • 자동으로 문장을 대문자로 시작
  • 스페이스를 두 번 눌러 마침표 추가
  • 스마트 인용 부호 및 대시 사용

기능을 체크 해제합니다.

keyboard-settings

시간 포맷 & 초 표시

[시스템 설정...] - [제어 센터] - [시계] - [시계 옵션...] 에서 아래 사진과 같이 체크합니다.

time-settings

배터리 퍼센트 보기

[시스템 설정...] - [제어 센터] - [배터리]!

  • [퍼센트 보기] 체크합니다.

battery

기타 프로그램 설치...

Git

$ brew install git

wget

$ brew install wget

htop

$ brew install htop

Chrome 웹 브라우저

$ brew install --cask google-chrome

Slack

$ brew install --cask slack

Zoom

$ brew install --cask zoom

Docker, Docker Compose

$ brew install --cask docker
$ brew install docker-compose
$ mkdir -p ~/.docker/cli-plugins
$ ln -sfn /opt/homebrew/opt/docker-compose/bin/docker-compose ~/.docker/cli-plugins/docker-compose

Visual Studio Code

$ brew install --cask visual-studio-code

PyCharm

$ brew install --cask pycharm

AWS CLI v2

$ brew install awscli

# Access Key ID, Secret Access Key 설정하려면:
$ aws configure

Postman

$ brew install --cask postman

Cyberduck

$ brew install --cask cyberduck

UTC Menu Clock

$ brew install --cask utc-menu-clock

zshell 명령어 자동완성 설정

~/.zshrc 파일을 열어서 아래와 같이 plugins 변수를 찾은 뒤 아래와 같이 플러그인을 추가합니다.

그러면 아래처럼 탭 키를 누르면 다음으로 사용할 수 있는 명령어가 자동으로 출력됩니다.

gh-command

Git: CRLF 설정

운영체제에 따라 개행문자가 다르게 인식될 수 있는 문제를 방지하기 위해 다음 명령어를 실행합니다.

$ git config --global core.autocrlf input

GitHub CLI

터미널에서 깃허브 프로젝트를 클론하거나 푸쉬하는 등의 작업을 수행하려면 먼저 GitHub에 연결되어야 합니다.

이를 위해서 SSH 키 파일을 등록해야 하는데 이 키 파일을 가지고 GitHub에 연결하려면 먼저 키 파일을 생성하고 ssh-agent에 등록하고... 웹 사이트에 들어가서 공개키 등록하고... 하는 번거로운 작업을 해야 하는데,

GitHub CLI를 사용하면 매우 쉽게 처리할 수 있습니다.

$ brew install gh
$ gh auth login

gh-auth-login

PyCharm 설정

Ruler

에디터에 세로선을 줄 길이 몇에 맞춰서 그을지 설정합니다.

파이썬 PEP8 스타일 가이드에서는 줄 길이로 79자를 권장하지만 실제로 사용해보면 너무 짧다고 느껴져서 그냥 99자를 사용하고 있습니다. 이 부분은 80자, 100자, 120자 등 사람마다 선호하는 간격이 다른 것 같습니다.

File Watchers

문서: https://black.readthedocs.io/en/stable/integrations/editors.html

파이썬 코드를 수정할 때마다 파이썬 PEP8 스타일 가이드에 맞게 reformat 되도록 설정합니다.

  • black: psf 재단에서 배포하는 코드 포매터 라이브러리
  • isort: 임포트 구문을 정렬해주는 라이브러리 (black 에서는 import 구문까지 포맷팅해주지는 않아서 사용 중)

watchers

isort

black

Argument에 추가로 --line-length 99를 넘겼는데 이는 선택사항입니다. 만약 넘기지 않으면 black 포매터는 기본적으로 88자의 줄 길이를 사용합니다.

0개의 댓글