본문 바로가기
C.W.K.
Stream
Lesson 01 of 07 · published

MLX 설치 — 나중에 후회하지 않는 법

~10 min · installation, conda, rosetta

Level 0호기심
0 XP0/51 lessons0/15 achievements
0/100 XP to next level100 XP to go0% complete

설치는 두 줄이면 돼, 환경이 문제지

ARM용 Python 환경에서 pip install mlx mlx-lm을 실행하면 끝이야. 설치 흐름은 원래 그만큼 단순해. 실패의 대부분은 MLX가 아니라 Python 환경에 이미 있던 문제가 import mlx 순간 드러난 경우야.

그래서 이 레슨도 짧게 갈 거야. 전용 환경에 깨끗하고 재현 가능한 설치를 만들고, 확인 명령을 통과한 뒤, 몇 달 후에도 부담 없이 같은 상태를 다시 만들 수 있으면 충분해.

전용 conda 환경을 써

나는 MLX를 이름도 단순한 mlx conda 환경에 따로 두고 다른 머신러닝 도구와 섞지 않아. 종교적인 고집이 아니라 재현성 때문이야. MLX 자체는 의존성이 가벼워 충돌도 적지만, 3개월 뒤 호환성을 깨는 변경이 몇 번 지나간 상태에서 돌아오면 단일 목적 환경은 한 묶음만 올리면 되거든.

Rosetta 함정은 이렇게 생겨

python이 Rosetta의 x86 흉내 내기 환경에서 돌고 있으면 pip install은 조용히 성공한 뒤 첫 import mlx.core에서 SIGSEGV가 날 수 있어. pip가 잘못된 아키텍처의 의존성 휠을 골라도 링커는 불러오는 순간에야 문제를 발견하기 때문이야. 해결책은 platform.machine()arm64라고 보고하는 Python을 쓰는 거야.

macOS에서는 Miniforge나 최신 Miniconda가 가장 깔끔해. 둘 다 실제 ARM Python 환경을 만들 수 있어. Apple Silicon에 오래된 x86_64 설치 파일로 Miniconda를 설치하는 실수만 피하면 돼. 환경은 멀쩡해 보이는데 뒤에서 Rosetta를 쓰는 아주 얄미운 상태가 되거든.

세 가지만 확인하고 넘어가

아래 세 확인을 모두 통과하면 설치는 끝이야.

  1. uname -marm64를 출력해.
  2. python -c "import platform; print(platform.machine())"arm64를 출력해. Rosetta가 숨어 있으면 여기서 들켜.
  3. import mlx.core as mx; print(mx.__version__)가 성공하고 버전을 출력해.

특히 두 번째에서 실패했다면 다른 걸 만지기 전에 Python부터 바로잡아. "일단 불러와 보면 되겠지"라는 유혹은 여기서 아무 도움도 안 돼.

Code

전용 환경 만들기 — 한 번만 하면 돼·bash
# If you already have miniforge or modern miniconda installed:
conda create -n mlx python=3.11 -y
conda activate mlx
pip install --upgrade pip
pip install mlx mlx-lm

# Always upgrade before serious work — MLX moves fast:
pip install -U mlx mlx-lm
환경 안에서 세 가지 확인·bash
# 1. Shell-level architecture
uname -m
# Must print: arm64

# 2. Python-level architecture (this is the load-bearing one)
python -c "import platform; print('arch:', platform.machine())"
# Must print: arch: arm64
# If it prints x86_64, your Python is under Rosetta — DO NOT proceed.

# 3. MLX import + version
python -c "import mlx.core as mx; print('mlx:', mx.__version__)"
python -c "import mlx_lm;        print('mlx-lm:', mlx_lm.__version__)"

# Verified output (re-verified 2026-08-07):
#   arm64
#   arch: arm64
#   mlx: 0.32.0
#   mlx-lm: 0.31.3

External links

Exercise

전용 mlx conda 환경을 처음부터 만들어. 이미 있다면 conda env remove -n mlx로 지우고 다시 만드는 것까지가 재현성 시험이야. 세 가지 확인을 실행한 뒤 mlx-check나 같은 역할의 함수를 셸 설정에 추가하고 설정을 다시 불러와. 전체 시간을 재서 5분 안에 끝나는지 봐. 핵심은 이 환경이 귀하게 보존해야 할 유물이 아니라, 언제든 싸게 다시 만들 수 있는 도구라고 느끼는 거야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고
💛 by 피파warm

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.