Skip to main content

Command Palette

Search for a command to run...

[Mac] Python 환경 리빌딩 (1): Python 설정 초기화

Updated
•3 min read•View as Markdown

안녕하세요. 시니어 백엔드 엔지니어로 살다 보니, 가끔은 코드보다 내 **개발 환경(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가 시스템 내부적으로 사용하는 파이썬입니다. 이건 삭제를 시도해도 권한 때문에 안 지워지겠지만, 강제로 지우려고 해서도 안 됩니다. (시스템 업데이트나 일부 앱 구동에 문제가 생깁니다.)


✅ 삭제 후 최종 상태 확인

터미널을 새로 열고 아래 명령어를 쳤을 때 이렇게 나와야 성공입니다.

  1. where python3

    • 결과: /usr/bin/python3 하나만 딱 나와야 합니다.
  2. which conda

    • 결과: conda not found
  3. python3 --version

    • 결과: Python 3.9.x (macOS 몬테레이 이상 기준 시스템 버전)

🚀 Next Step: 이제 무엇을 깔까?

Conda를 지운 자리에 저는 이제 Pyenv를 설치하려고 합니다.

마치 Java 11과 17을 자유롭게 오가듯, 파이썬 버전도 아주 가볍고 깔끔하게 관리할 수 있죠.

이어지는 포스팅에서는 Pyenv와 초고속 패키지 매니저 uv를 이용해, M2 맥북에 최적화된 AI 개발 환경을 세팅하는 법을 다뤄보겠습니다.


도움이 되셨나요? 지저분한 환경은 개발 생산성의 적입니다. 여러분의 맥북은 안녕하신가요?


🔗 관련 글 보기

[Mac] Python 환경 리빌딩 (2): Pyenv + uv로 완성하는 초고속 워크플로우

More from this blog

[WSL2] Ubuntu 24.04.1 LTS: Zsh & Oh My Zsh 설치 가이드

개발자의 터미널은 단순한 입력창이 아니라, 사고를 코드로 옮기는 가장 빠른 경로여야 합니다. 윈도우 네이티브의 한계를 넘어 리눅스의 강력함을 100% 활용해 봅시다. 1. Zsh 설치 및 기본 쉘 변경 먼저 패키지 관리자를 통해 Zsh를 설치하고, 시스템의 기본 쉘을 Bash에서 Zsh로 전환합니다. # 패키지 업데이트 및 Zsh 설치 sudo apt update sudo apt install zsh -y # 설치 확인 및 경로 파악 whi...

Jan 14, 20262 min read

[WSL2] Windows에 Ubuntu 24.04.1 LTS 설치 및 초기 설정 완벽 가이드

🛠 전제 조건 (Prerequisites) 본 가이드는 독자가 아래의 환경을 이미 갖추고 있다는 전제하에 진행됩니다. (아직 설치 전이라면 먼저 셋업을 완료해 주세요.) Windows 10/11: WSL2를 지원하는 최신 빌드. WSL2 활성화: 커널 업데이트 및 WSL2 기능이 활성화된 상태. Windows Terminal: PowerShell이나 기본 CMD보다 훨씬 생산적인 터미널 환경. 🚀 Ubuntu 24.04.1 LTS...

Jan 14, 20262 min read

[Mac] Python 환경 리빌딩 (2): Pyenv + uv로 완성하는 초고속 워크플로우

지난 포스팅에서 우리는 맥북을 어지럽히던 Conda와 여러 버전의 파이썬을 완전히 정리했습니다. 혹시 아직 기존 환경을 정리하지 않으셨다면, 이전 글: [Mac] Python 환경 리빌딩 (1): Python 설정 초기화를 먼저 보고 오시는 것을 강력 추천합니다. 🛠️ 1. Pyenv: 파이썬 버전 관리의 표준 자바 진영에 SDKMAN이 있다면, 파이썬에는 Pyenv가 있습니다. 시스템 파이썬은 건드리지 않고, 내가 원하는 버전만 깔끔하게 ...

Jan 6, 20263 min read

프롬프트 엔지니어링은 '실험 과학'이다: Anthropic의 사고 보고서 분석 가이드

Disclaimer & Source Attribution 이 글은 Anthropic 공식 YouTube 채널의 "Prompting 101 | Code w/ Claude" 세미나 영상과 해당 세션을 공부하며 정리한 개인 학습 노트를 바탕으로 재구성한 내용입니다. 모든 원본 콘텐츠의 저작권은 Anthropic에 있으며, 본 포스팅은 개발자 관점에서의 기술 분석 및 정보 공유를 목적으로 합니다. Original Video: Anthropic - P...

Nov 27, 202510 min read
K

KEV's tech Blog

6 posts