[Mac] Python 환경 리빌딩 (1): Python 설정 초기화
안녕하세요. 시니어 백엔드 엔지니어로 살다 보니, 가끔은 코드보다 내 **개발 환경(Local Environment)**이 더 꼬여있다는 걸 깨달을 때가 있습니다.
처음 설치했던 Anaconda(또는 Miniconda). 시간이 지날수록 터미널 왼쪽에 붙어있는 (base)라는 글자와 알 수 없는 패키지 의존성 충돌이 깔끔한 환경을 구축하고 싶은 개발자의 본능을 자극할 때가 있습니다.
오늘은 제 M2 MacBook Pro 16인치에서 묵직하게 자리 잡고 있던 /opt/anaconda3를 완전히 제거하고, 다시 순정의 상태로 돌아가는 과정을 기록해 봅니다.
🧐 왜 Conda를 버리기로 했나?
자바 개발자가 JDK 버전을 관리할 때 SDKMAN을 쓰듯, 파이썬도 버전만 깔끔하게 관리하고 싶었습니다. Conda는 강력하지만, 백엔드 엔지니어에겐 몇 가지 불편함이 있었습니다.
너무 무겁다: 파이썬 버전 하나 쓰자고 수백 메가의 바이너리를 들고 있을 필요가 없습니다.
쉘 점유:
.zshrc를 지저분하게 만드는 초기화 스크립트와(base)표시가 거슬립니다.표준 가상환경과의 거리: 요즘은
venv나Poetry,uv같은 가볍고 표준화된 도구들이 너무 잘 나옵니다.
🛠️ Conda 완벽 제거 가이드 (Mac 기준)
0. conda 설치 디렉토리 찾기
(base) ➜ ~ where python3
/opt/anaconda3/bin/python3
/Library/Frameworks/Python.framework/Versions/3.11/bin/python3
/Library/Frameworks/Python.framework/Versions/3.12/bin/python3
/opt/homebrew/bin/python3
/usr/local/bin/python3
/usr/bin/python3
(base) ➜ ~ brew list --versions | grep python
python@3.13 3.13.7
아무 생각 없이 설치한 결과입니다. 내 맥북에는 Anaconda, Python.org 설치본, Homebrew 설치본, 그리고 macOS 순정 버전까지 총 4종류의 파이썬이 복잡하게 얽혀 있습니다.
1. 물리적 디렉토리 삭제
먼저 시스템 영역에 설치된 Anaconda 폴더를 통째로 날립니다.
시간이 오래 걸립니다. 믿음이 필요합니다.
# 1. 물리적 디렉토리 삭제, sudo 권한이 필요합니다. 시간이 좀 오래 걸립니다.
(base) ➜ ~ sudo rm -rf /opt/anaconda3
# 2. 홈 디렉토리의 설정 및 캐시 삭제
(base) ➜ ~ rm -rf ~/.condarc ~/.conda ~/.continuum ~/.anaconda
2. Python.org Framework 제거 (3.11, 3.12)
/Library/Frameworks에 설치된 버전들을 지웁니다.
# 1. 프레임워크 본체 삭제
sudo rm -rf /Library/Frameworks/Python.framework/Versions/3.11
sudo rm -rf /Library/Frameworks/Python.framework/Versions/3.12
# 2. 애플리케이션 폴더의 바로가기 삭제
sudo rm -rf "/Applications/Python 3.11"
sudo rm -rf "/Applications/Python 3.12"
3. Homebrew로 설치한 Python 제거
/opt/homebrew/bin/python3는 브루(brew) 명령어로 지우는 게 가장 깔끔합니다.
brew uninstall --ignore-dependencies python@3.13
4. /usr/local/bin의 찌꺼기 심볼릭 링크 정리
이곳에 남은 python3 링크들은 보통 2단계에서 지운 Framework를 가리키고 있어 이제는 '죽은 링크'들입니다.
sudo rm /usr/local/bin/python3
sudo rm /usr/local/bin/pip3
# (기타 python 관련 링크가 더 있다면)
ls -l /usr/local/bin | grep python | awk '{print $9}' | xargs sudo rm
5. .zshrc 환경 변수 청소 (핵심)
터미널을 켤 때마다 Conda를 로드하려던 스크립트를 제거해야 합니다. vi ~/.zshrc를 열어 아래 블록을 찾아 삭제하세요.
Python 내용을 모두 찾아서 제거해 주세요.
# Setting PATH for Python 3.12
# The original version is saved in .zprofile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.12/bin:${PATH}"
export PATH
# Setting PATH for Python 3.11
# The original version is saved in .zprofile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.11/bin:${PATH}"
export PATH
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/opt/anaconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/opt/anaconda3/etc/profile.d/conda.sh" ]; then
. "/opt/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/opt/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
삭제 후 source ~/.zshrc로 설정을 반영합니다. 이제 터미널 왼쪽의 (base)가 사라진 것을 확인할 수 있습니다.
(base) ➜ ~ source ~/.zshrc
➜ ~
⚠️ 주의사항: 절대로 지우면 안 되는 것
where python3 결과 중 마지막에 있었던 **/usr/bin/python3**는 macOS가 시스템 내부적으로 사용하는 파이썬입니다. 이건 삭제를 시도해도 권한 때문에 안 지워지겠지만, 강제로 지우려고 해서도 안 됩니다. (시스템 업데이트나 일부 앱 구동에 문제가 생깁니다.)
✅ 삭제 후 최종 상태 확인
터미널을 새로 열고 아래 명령어를 쳤을 때 이렇게 나와야 성공입니다.
where python3- 결과:
/usr/bin/python3하나만 딱 나와야 합니다.
- 결과:
which conda- 결과:
conda not found
- 결과:
python3 --version- 결과:
Python 3.9.x(macOS 몬테레이 이상 기준 시스템 버전)
- 결과:
🚀 Next Step: 이제 무엇을 깔까?
Conda를 지운 자리에 저는 이제 Pyenv를 설치하려고 합니다.
마치 Java 11과 17을 자유롭게 오가듯, 파이썬 버전도 아주 가볍고 깔끔하게 관리할 수 있죠.
이어지는 포스팅에서는 Pyenv와 초고속 패키지 매니저 uv를 이용해, M2 맥북에 최적화된 AI 개발 환경을 세팅하는 법을 다뤄보겠습니다.
도움이 되셨나요? 지저분한 환경은 개발 생산성의 적입니다. 여러분의 맥북은 안녕하신가요?