파이썬 환경에서 개발하다 보면 버전은 어떤걸 써야하지? 시스템 환경에서 돌려야하나 가상환경에서 돌려야하나? 안정화된 버전을 사용하는게 좋을까? 아니면 최신 버전을 사용하는게 좋을까? 별별 걱정과 헷갈림 속에서 개발환경을 구축하곤 합니다. 그래서 이번 글에서는 그냥 깔고 싶은거 다 깔고 프로젝트에 맞는거 같은거 쓰고 다른 환경 다른 버전의 파이썬이 필요하면 또 깔고...
이렇게 파이썬을 쉽게 변경해가면서 사용하면 개발환경 구축에 고민이 없어지지 않을까 하는 마음에 파이썬 버전을 비교적 안정적이면서 자유롭게 변경하면서 쓸 수 있는 환경을 만들어 보고자 합니다.

Homebrew로 여러 Python 버전 설치하기
원하는 버전 설치
Homebrew는 설치버전을 지정하는 버전별 formula를 제공합니다. 예를 들어:
# 최신 3.13.x (이미 설치됨)
brew install python@3.13
# 3.9 계열 최신 버전 (예: 3.9.20 등)
brew install python@3.9
이렇게 하면 /opt/homebrew/opt/python@3.9/ 같은 경로에 별도 설치됩니다.
하지만 brew는 항상 해당 브랜치의 최신 패치 버전을 깔아주므로, 정확히 3.9.13이 아닌 3.9.20 같은 최신 릴리스가 될 수 있습니다.
버전 확인
아래의 코드블럭은 실제 설치된 파이썬 폴더안의 파이썬 프로그램을 통해서 구체적으로 설치된 버전을 확인하는 방법입니다.
/opt/homebrew/opt/python@3.9/bin/python3 -V
/opt/homebrew/opt/python@3.13/bin/python3 -V
출력 예시
Python 3.9.20
Python 3.13.4
전환 방법 (PATH 우선순위 조절)
Homebrew는 기본적으로 python3를 최신 버전에 링크해 둡니다.
원하는 버전으로 전환하려면 PATH에 직접 추가하거나 brew link/unlink를 사용합니다. 대부분의 개발자들은 PATH의 설정을 변경하는 것을 선호합니다. 자주 사용하지 않는 brew명령어를 잘 모르는 탓이겠죠.
PATH로 전환
다른 버전의 python으로 변경하고 싶을때는 .zshrc를 직접 수정하시면 됩니다.
# 예: 3.9를 우선 사용하고 싶을 때
echo 'export PATH="/opt/homebrew/opt/python@3.9/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
python3 -V # 이제 3.9.x 출력
brew link/unlink로 전환
# 기본 링크 해제
brew unlink python@3.13
# 다른 버전 연결
brew link python@3.9 --force --overwrite
# 다시 원복하려면
brew unlink python@3.9
brew link python@3.13 --force --overwrite
프로젝트별 가상환경 만들기
특정 버전을 명시해 가상환경을 만들 수 있습니다. 프로젝트 root폴더로 이동해서 원하는 버전의 파이썬을 선택해서 가상환경을 만든어서 사용하면 프로젝트 생성과 함께 1회만 명령어를 실행해서 해당 프로젝트에 버전을 명시할 수 있는 거죠.
/opt/homebrew/opt/python@3.9/bin/python3 -m venv .venv39
/opt/homebrew/opt/python@3.13/bin/python3 -m venv .venv313
# 활성화
source .venv39/bin/activate
python -V # Python 3.9.x
이렇게 하면 프로젝트마다 필요한 Python 버전을 확실히 지정할 수 있어 충돌을 피할 수 있습니다.
pyenv vs Homebrew 버전 관리 비교 (요약)
위에서 언급된 Homebrew 방식과 가상환경 방식인 pyenv방식을 간단하게 비교하면 다음과 같습니다.
| 항목 | Homebrew방식 | pyenv 방식 |
| 설치 버전 | “메이저/마이너 단위 최신” (3.9.x 최신) | 정확한 버전 지정 가능 (3.9.13 등) |
| 설치 위치 | /opt/homebrew/opt/python@X.Y/ | ~/.pyenv/versions/ |
| 전환 방식 | PATH 수정 / brew link/unlink | pyenv global/local/shell (우선순위 체계적) |
| 편의성 | 간단, brew 명령만 | 설치·초기 세팅 조금 필요 |
| 유연성 | 다소 제한적 | 매우 유연, 버전 다양 |
어떤 python을 프로젝트에 적용할 지는 프로젝트의 특성에 따라, 사용하는 라이브러리에 따라 달라질 수 있겠죠. 해당 프로젝트가 정확히 3.9.13과 같이 동일한 버전의 파이썬 버전이 꼭 필요하다면, pyenv방식의 가상환경을 지정해서 사용하는 것을 권장드립니다.
아니면 그냥 3.9 계열의 버전을 사용하면 충분하다면 Homebrew에서 python@3.9 설치 후 PATH/brew link로 전환하는 것이 더 간편하므로 이 방법을 추천합니다.
'AI 코딩' 카테고리의 다른 글
| [개발환경] pyenv - Python 버전을 전환하면서 사용하기 (6) | 2025.11.05 |
|---|---|
| [Claude] Claude Skill기능으로 문서작업 효율 10배 높이기 (1) | 2025.11.03 |
| Docker vs Podman 컨테이너 기술의 진화 (8) | 2025.10.29 |
| Git 명령어 참조 사전 (2) | 2025.10.25 |
| vi/vim 명령어 참조 사전 (0) | 2025.10.24 |