ํผ๋๋ก ๋์๊ฐ๊ธฐ
Dev.toAI/ML
์๋ฌธ ์ฝ๊ธฐ
Homebrew์ Miniconda ์กฐํฉ์ ํตํ Python ํ๊ฒฝ ๊ฒฉ๋ฆฌ ๋ฐ ์ฌํ์ฑ ํ๋ณด
๐ The "Production-Ready" Miniconda Cheatsheet: From Homebrew to JupyterLab
AI ์์ฝ
Context
Python ํ๋ก์ ํธ ์งํ ์ ์์กด์ฑ ์ถฉ๋๊ณผ ํ๊ฒฝ ์ค์ ๋ถ์ผ์น๋ก ์ธํ ๊ฐ๋ฐ ํจ์จ ์ ํ ๋ฐ์. ๋ก์ปฌ ๋จธ์ ์ ์ญ ํ๊ฒฝ ์ค์ผ์ผ๋ก ์ธํ 'it works on my machine' ๋ฌธ์ ํด๊ฒฐ ํ์.
Technical Solution
- Homebrew๋ฅผ ํตํ Miniconda ์ค์น๋ก ํจํค์ง ๊ด๋ฆฌ ์์คํ ์ ์ผ๊ด์ฑ ํ๋ณด
- ํ๋ก์ ํธ๋ณ ๋ ๋ฆฝ๋ ๊ฐ์ ํ๊ฒฝ ๊ตฌ์ถ์ ํตํ Dependency Isolation ๊ตฌํ
- environment.yml ๊ธฐ๋ฐ์ ํ๊ฒฝ Export/Import ํ๋ก์ธ์ค๋ก ์ธํ๋ผ ์ฌํ์ฑ ํ๋ณด
- conda-forge ์ฑ๋ ์ฐ์ ์์ ์ค์ ์ ํตํ ์ต์ ํจํค์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ๋ณด ๋ฐ ๋ฒ์ ์ถฉ๋ ์ต์ํ
- ipykernel์ ํตํ JupyterLab ์ปค๋ ๋ฑ๋ก์ผ๋ก ๋ถ์ ํ๊ฒฝ๊ณผ ์คํ ํ๊ฒฝ์ ์ผ์น ๊ตฌํ
- pip ์ฌ์ฉ์ ์ต์ํํ๊ณ conda ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ์ฐ์ ํ์ฉํ๋ ๊ณ์ธต์ ์ค์น ์ ๋ต ์ฑํ
์ค์ฒ ํฌ์ธํธ
1. ํ๋ก์ ํธ ์์ ์ python ๋ฒ์ ๋ช ์๋ฅผ ํตํ ๊ฐ์ ํ๊ฒฝ ์์ฑ
2. conda-forge ์ฑ๋์ ๊ธฐ๋ณธ์ผ๋ก ์ค์ ํ์ฌ ํจํค์ง ๊ฐ์ฉ์ฑ ํ๋
3. ipykernel์ ํ์ฉํด JupyterLab๊ณผ ๊ฐ์ ํ๊ฒฝ์ 1:1 ๋งคํ ํ์ธ
4. environment.yml ํ์ผ์ ํตํ ํ๊ฒฝ ์ค์ ์ ์ฝ๋ํ(IaC) ๋ฐ ๋ฒ์ ๊ด๋ฆฌ
5. conda clean --all ๋ช ๋ น์ด๋ฅผ ํตํ ์ฃผ๊ธฐ์ ์ธ ๋์คํฌ ์บ์ ์ ๋ฆฌ