thumbnail image

맥에서 파이썬을 위한 환경 설정(iTerm2, Oh My ZSH, VS Code, pyenv, pipenv)

Taedi

·

2021. 2. 23. 00:05

Python을 공부하는 중 데스크톱과 노트북에 파이썬 패키지가 저마다 다르게 설치되어 있어 올바르게 실행이 되지 않거나, 교재마다 요구하는 파이썬 버전과 패키지가 달라 생기는 불편함이 있어 가상 환경에 대한 관심이 생겼습니다. 그래서 가상 환경을 공부하고 사용해보는 김에 많은 분들이 온라인에 공개해주신 개발환경을 참고하여 저의 환경을 세팅하고 내용을 기록해 보았습니다. MacOS (Big Sur 11.2) 환경에 맞게 세팅한 것으로 Windows에서는 맞지 않는 부분이 있을 수 있습니다. Homebrew 가 설치된 환경을 전제로 했기 때문에 미리 설치되지 않았다면 아래 링크를 참고하실 것을 권해드립니다.

 

2021/02/21 - [Study/Mac] - M1칩 맥북에서 Homebrew 설치하기

2021/02/11 - [Study/Mac] - Mac OS 용 패키지 관리자 Homebrew 설치 및 사용해보기

 

내용은 제가 깨닫는 대로 계속해서 업데이트할 예정입니다.

 

 

 

 

iTerm2

맥에 기본으로 설치 된 Terminal을 대체할 수 있는 에뮬레이터로 많은 분들이 애용하고 있으며, 개인적으로 현재 M1 맥북에서 거의 필수적으로 사용하다 보니 (Rosetta 용) 환경을 일치하기 위해서 설치하였습니다. 

 

 

설치

 

Homebrew를 이용하여 iTerm2를 설치해줍니다.

 

brew install iterm2

 

 

테마 및 폰트 설정

필수사항은 아니지만 가독성이나 산뜻한 기분을 내기 위해 취향에 맞는 테마를 설정해 보았습니다. 설정(단축키 : command + , )으로 진입해 Profiles - Colors에서 각 항목의 색상을 직접 지정하거나 여기에서 프리셋을 다운로드 받아 하나씩 적용해가며 마음에 드는 프리셋을 적용하면 됩니다. 저는 OneHalfDark를 선택했습니다.

 

테마설정

 

 

폰트는 고민없이 유명한 D2Coding으로 설정했습니다. Profiles - Text에서 폰트 및 크기를 설정할 수 있습니다. 별도 설정 없이 이후 단계를 진행하다 보면 글이 깨지는 상황이 발생할 수 있습니다. D2Coding폰트는 여기에서 다운로드할 수 있습니다.

폰트설정

 

 

 

 

Oh My ZSH

Oh My ZSH는 zsh를 좀 더 편리하게 사용할 수 있도록 환경설정을 다루는 프레임워크라고 합니다.

 

 

설치

터미널에서 아래 명령어를 입력하여 Oh My ZSH를 설치해 줍니다.

 

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

 

 

zshrc파일 수정

설치를 마치고 테마, 플러그인 등을 설정하기위해 .zshrc 파일을 수정하여 보았습니다. 아래 명령어로 터미널에서 파일 수정이 가능하며 터미널이 익숙하지 않다면 /Users/사용자명/.zshrc 파일을 에디터로 불러와 수정해도 됩니다.

 

vi ~/.zshrc

 

편집으로 진입은 i 버튼을 누르면 됩니다.

 

 

테마 변경

초기에 ZSH_THEME="robbyrussell"로 테마가 지정되어 있는데, 이 부분을 ZSH_THEME="agnoster"로 변경하여 주었습니다. git과 관련된 정보가 표시되어 편리한 테마라고 합니다. 

 

# 기존
ZSH_THEME="robbyrussell"
# 변경
ZSH_THEME="agnoster"

 

 

문법 하이라이팅 플러그인

플러그인을 설치하면 존재하는 명령어와 존재하지 않는 명령어가 다른 색으로 표현되어 오타를 직관적으로 파악할 수 있습니다. 예를 들면 bre 까지는 빨간색으로 뜨다가 brew 명령어를 완성하면 초록색으로 뜨게 됩니다.

 

# 플러그인 설치
brew install zsh-syntax-highlighting

#플러그인 적용(.zshre에 내용 추가)
source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

 

 

실행 시 COMPFIX 안 뜨게 하기

iTerm2를 실행하면 많은 줄로 이뤄진 COMPFIX가 표시되는데, 무슨 기능인지는 모르겠지만 뉴비인 저에게는 그저 지저분하게만 느껴져 제거하였습니다. 아래 내용을 export ZSH 항목보다 위에 입력해주면 됩니다.

 

# Disable COMPFIX
ZSH_DISABLE_COMPFIX="true"

 

모든 설정을 마친 후 esc :wq! 엔터를 입력해 저장하면 됩니다.

 

 

zshrc 적용

아래 명령어를 입력해 변경 사항을 적용할 수 있습니다. 그냥 iTerm2를 다시 실행해도 설정이 적용되는 듯합니다.

 

source ~/.zshrc

 

 

 

 

pyenv & pipenv

pyenv는 파이썬 버전 관리 도구이며, pipenv는 pip와 virtualenv를 합쳐놓은 기능을 합니다.

 

설치

Homebrew를 이용하여 pyenv와 pipenv를 설치해줍니다.

 

brew install pyenv
brew install pipenv

 

 

pyenv

pyenv로 python을 설치하여 줍니다.

 

# 설치 가능 버전 확인
pyenv install --list

# 파이썬 설치
pyenv install {version}
ex) pyenv install 3.9.1

 

 

pipenv

처음 pipenv를 접하고 가상 환경에 진입할 pipenv shell이라는 명령어 뒤에 특정 가상 환경을 지칭하는 값을 입력하지 않길래  '가상 환경은 PC당 하나만 설치가 가능한가...?' 하는 바보 같은 고민을 했었는데, 그게 아니라 각 디렉터리마다 별도의 가상 환경이 생성되고 해당 디렉터리의 가상 환경에 진입하게 되는 것이란 것을 알게 되었습니다... 가상 환경은 기본적으로 /Users/{사용자명}/.local/share/virtualenvs/{폴더명}-{난수번호}/ 경로에 설치되게 되는데, 뒤에 VSCode가상 환경 interpreter를 상대 경로로 간편하게 가져오기 위해 프로젝트 폴더에  .venv 폴더를 만들어 주었습니다. 그럼 가상 환경이 프로젝트 폴더 내 .venv 폴더에 담기게 됩니다.

 

# 프로젝트 디렉토리에 .venv 폴더 생성
mkdir .venv

 

이후 아래 명령어들을 활용해 가상 환경을 생성하고 관리할 수 있습니다.

 

# virtualenv 생성
pipenv --python 버전

# 패키지 설치
pipenv install
pipenv install {패키지명}

# virtualenv 진입
pipenv shell

# virtualenv 종료
exit
deactivate

# virtualenv 경로 확인
pipenv --venv
pipenv --py

# 가상 환경 제거
pipenv --rm

# 패키지 목록 보기
pipenv graph

 

 

 

 

VScode 

설치

Homebrew를 이용하여 VSCode를 설치해줍니다.

 

brew install visual-studio-code

 

 

venv interpreter 설정

VSCode에서 파이썬 코드를 작성하고 실행할 때, 가상 환경의 python interpreter를 찾을 수 없고 전역에 있는 python만 표시되어 쩔쩔매다가 settings.json에 아래 내용을 입력하면 별도 설정 없이 가상 환경의 python interpreter를 인식하고 가져오게 되는 것을 알게 되었습니다. settings.json은 /Users/{사용자명}/Library/Application Support/Code/User 경로에 있습니다.

 

"python.venvPath": "${workspaceFolder}/.venv/bin/python",
"python.pythonPath": ".venv/bin/python"

 

 

폰트 설정

설정(단축키 : command + , )으로 진입해 User - Text Editor - Font - Font Family 'D2Coding' 추가해주었습니다. 작성된 폰트들은 왼쪽부터 우선순위를 가지고 있다고 합니다.

VSCode 폰트 설정

 

 

Ligatures를 활성화하려면 settings.json에 아래 내용을 추가하면 됩니다.

 

"editor.fontLigatures": true

 

 

테마 설정

iTerm에 적용한 테마와 VSCode가 비슷한 색을 띠면 좋을 것 같다고 생각했습니다. Extensions에서 theme로 검색하면 여러 테마가 나오는데 그중 맘에 드는 것을 골라 적용하면 되는데, 저는 One Monokai theme를 선택했습니다.

 

터미널 설정

설정(단축키 : command + , )으로 진입해 User - Features - Terminal에서 External: Osx Exec 항목을 다음과 같이 변경했습니다. (무슨 차이가 있는지는 모르겠습니다.)

 

Explorer Kind --> external

External: Osx Exec --> iTerm.app

 

 

동기화 설정

여러 PC에서 VSCode를 사용할 예정인데 각각의 세팅을 따로 해주기 번거로워 Settings Sync라는  Extension을 사용해 보았습니다. 사용을 위해서 우선 Github 계정을 만들어주고, settings - Developer settings - Personal access tokens를 발급한 후 Token을 별도로 기록해 둡니다. 이때 scopes 항목은 gist를 선택해줍니다. 그리고 여기에서 secret gist를 생성한 후 리다이렉팅 되는 주소를 살펴보면 아래와 같은 형태로 되어있는데 여기서 Gist ID를 별도로 기록해 둡니다.

 

gist.github.com/{아이디}/{gist ID}

 

이후 Settings Sync 설치하고 github로그인, Token 및 Gist ID 입력을 차례로 진행하면 됩니다. 자동 백업 및 동기화를 원하신다면

autoDownload 및 autoUpload 항목을 체크하거나 settings.json 파일에 아래 내용을 추가하면 됩니다.

 

"sync.autoDownload": true,

"sync.autoUpload": true

 

자동 백업 외에 단축키를 사용하여 설정을 업로드 및 다운로드할 수도 있습니다.

 

# 설정 업로드
Shift + Option + U 

# 설정 다운로드
Shift + Option + D

(윈도우에서는 Option 대신 Alt)

 

 

 

 

 

티스토리 아이디로 코멘트를 남기려면

여기를 눌러주세요!

0 Comments

닫기 아이콘
사이드 프로필 배경이미지
아바타 이미지

Taedi's Log

#태디 #코딩린이

자습한 내용을 기록하는 공간이라 다소 먼 길로 돌아가는 방법들이 존재할 수 있습니다🐹 Python, Web에 관심을 갖기 시작했습니다🐶