๊ฐ์
Miniconda๋ Anaconda Distribution์ ์ต์ ์ค์น ๋ฒ์ ์ผ๋ก, conda ํจํค์ง ๊ด๋ฆฌ์์ Python, ๊ทธ๋ฆฌ๊ณ ์ด๋ค์ด ์์กดํ๋ ํจํค์ง๋ค, ๊ทธ๋ฆฌ๊ณ ์์์ ์ ์ฉํ ํจํค์ง๋ง์ ํฌํจํ๋ ๋ฌด๋ฃ ๊ฒฝ๋ ์ค์น ํ๋ก๊ทธ๋จ์ด๋ค1.
์ฃผ์ ํน์ง
๊ฒฝ๋ ์ค์น
- Miniconda๋ ์ฝ 400MB์ ๋์คํฌ ๊ณต๊ฐ๋ง ํ์ํ ๋ฐ๋ฉด, Anaconda๋ ์ฝ 3GB๊ฐ ํ์ํ๋ค
- ํ์ํ ํจํค์ง๋ง ์ ํ์ ์ผ๋ก ์ค์นํ ์ ์์ด ๊น๋ํ ํ๊ฒฝ ์ ์ง๊ฐ ๊ฐ๋ฅํ๋ค
Conda ํจํค์ง ๊ด๋ฆฌ์
Conda๋ ํจํค์ง ๊ด๋ฆฌ์์ด์ ํ๊ฒฝ ๊ด๋ฆฌ์๋ก ์๋ํ๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค:
- ๊ณต๊ฐ ์ ์ฅ์์์ ์์ฒ ๊ฐ์ ํจํค์ง์ ์ ๊ทผ ๊ฐ๋ฅ
conda-forge
,bioconda
๋ฑ ๋ค์ํ ์ฑ๋์์ ํจํค์ง ์ค์น ๊ฐ๋ฅ- ์ธ์ด์ ๊ตฌ์ ๋ฐ์ง ์๋ ์์คํ ์์ค์ ๋ฐ์ด๋๋ฆฌ ํจํค์ง ๋ฐ ํ๊ฒฝ ๊ด๋ฆฌ
๋ช ๋ น์ค ์ธํฐํ์ด์ค
Miniconda๋ ๋ช ๋ น์ค ์ธํฐํ์ด์ค(CLI)๋ฅผ ์ ๊ณตํ๋ฉฐ, Anaconda์ ํฌํจ๋ Navigator GUI๋ ํฌํจ๋์ด ์์ง ์๋ค.
Anaconda vs Miniconda
ํน์ง | Miniconda | Anaconda |
---|---|---|
์ค์น ํฌ๊ธฐ | ~400MB | ~3GB |
์ฌ์ ์ค์น ํจํค์ง | ์ต์ํ์ ํจํค์ง | 1,500๊ฐ ์ด์์ ํจํค์ง |
์ธํฐํ์ด์ค | ๋ช ๋ น์ค(CLI) | ๋ช ๋ น์ค + GUI(Navigator) |
๋์ ์ฌ์ฉ์ | ์๋ จ๋ ์ฌ์ฉ์, ์ต์ ํ๊ฒฝ ์ ํธ | ์ด๋ณด์, ์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํ ํ๊ฒฝ ์ ํธ |
์ ํ ๊ฐ์ด๋
Miniconda๋ฅผ ์ ํํ๋ ๊ฒฝ์ฐ:
- ํ์ํ ํจํค์ง๋ฅผ ์ ํํ ์๊ณ ์๋ ๊ฒฝ์ฐ
- ๊น๋ํ๊ณ ์ต์ํ์ ํ๊ฒฝ์ ์ ์งํ๊ณ ์ถ์ ๊ฒฝ์ฐ
- ๋์คํฌ ๊ณต๊ฐ์ด ์ ํ์ ์ธ ๊ฒฝ์ฐ
- ์๋ จ๋ Python ๊ฐ๋ฐ์
Anaconda๋ฅผ ์ ํํ๋ ๊ฒฝ์ฐ:
- ๋ค์ํ ํจํค์ง๋ฅผ ํ์ํ๊ณ ์ถ์ ์ด๋ณด์
- ์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํ ํฌ๊ด์ ์ธ ์๋ฃจ์ ์ด ํ์ํ ๊ฒฝ์ฐ
- GUI๋ฅผ ํตํ ํจํค์ง ๊ด๋ฆฌ๋ฅผ ์ ํธํ๋ ๊ฒฝ์ฐ
์ค์น ๋ฐ ์ค์
์ค์น
- anaconda.com/download์์ ์ต์ ์ค์น ํ๋ก๊ทธ๋จ ๋ค์ด๋ก๋
- ์ด์์ฒด์ ์ ๋ง๋ ์ค์น ํ๋ก๊ทธ๋จ ์คํ
- ๋ก์ปฌ ์ฌ์ฉ์๋ก ์ค์น (๊ด๋ฆฌ์ ๊ถํ ๋ถํ์)
- Windows์ ๊ฒฝ์ฐ PATH์ ์ถ๊ฐํ์ง ์๋ ๊ฒ์ ๊ถ์ฅ
์ค์น ํ์ธ
conda list
conda๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์น๋์๋ค๋ฉด ์ค์น๋ ํจํค์ง ๋ชฉ๋ก์ด ํ์๋๋ค.
๊ฐ์ ํ๊ฒฝ ๊ด๋ฆฌ
๊ฐ์ ํ๊ฒฝ์ ํ๋ก์ ํธ๋ณ๋ก Python๊ณผ ํจํค์ง์ ๋ ๋ฆฝ์ ์ธ ์ค์น ํ๊ฒฝ์ ์ ๊ณตํ๋ค. ์ด๋ฅผ ํตํด ํจํค์ง ๋ฒ์ ์ถฉ๋์ ๋ฐฉ์งํ๊ณ ํ๋ก์ ํธ ์ฌํ์ฑ์ ๋ณด์ฅํ ์ ์๋ค.
๊ธฐ๋ณธ ๋ช ๋ น์ด
ํ๊ฒฝ ์์ฑ
# ๊ธฐ๋ณธ ํ๊ฒฝ ์์ฑ
conda create --name myenv
# ํน์ Python ๋ฒ์ ์ง์
conda create -n myenv python=3.9
# ํจํค์ง์ ํจ๊ป ์์ฑ
conda create -n myenv scipy nodejs
ํ๊ฒฝ ํ์ฑํ/๋นํ์ฑํ
# ํ์ฑํ
conda activate myenv
# ๋นํ์ฑํ
conda deactivate
ํ๊ฒฝ ๊ด๋ฆฌ
# ํ๊ฒฝ ๋ชฉ๋ก ํ์ธ
conda info --envs
conda env list
# ํน์ ํ๊ฒฝ์ ํจํค์ง ๋ชฉ๋ก
conda list -n myenv
# ํ๊ฒฝ ์ญ์
conda remove --name myenv --all
ํ๊ฒฝ ๊ณต์
# ํ๊ฒฝ ๋ด๋ณด๋ด๊ธฐ
conda export > environment.yml
# ํ๊ฒฝ ํ์ผ๋ก๋ถํฐ ์์ฑ
conda env create -f environment.yml
๋ฒ ์คํธ ํ๋ํฐ์ค
- Base ํ๊ฒฝ ์ฌ์ฉ ๊ธ์ง: base ํ๊ฒฝ์ ์ง์ ์ฌ์ฉํ์ง ๋ง๊ณ , ํญ์ ํ๋ก์ ํธ๋ณ ๊ฐ์ ํ๊ฒฝ์ ์์ฑํ๋ค2
- ๋์ ์ค์น: ํ์ํ ๋ชจ๋ ํจํค์ง๋ฅผ ํ ๋ฒ์ ์ค์นํ๋ค. ํ๋์ฉ ์ค์นํ๋ฉด ์์กด์ฑ ์ถฉ๋์ด ๋ฐ์ํ ์ ์๋ค
- conda ์ฐ์ , pip๋ ํ์์: ๋จผ์ conda๋ก ํจํค์ง๋ฅผ ์ค์นํ๊ณ , conda์ ์๋ ๊ฒฝ์ฐ์๋ง pip๋ฅผ ์ฌ์ฉํ๋ค
- ํ๊ฒฝ ํ์ผ ๊ด๋ฆฌ: ์ฌํ์ฑ์ ์ํด
environment.yml
ํ์ผ๋ก ํ๊ฒฝ์ ๊ด๋ฆฌํ๋ค - ํฌ๋ก์ค ํ๋ซํผ ํธํ์ฑ: ๋ค๋ฅธ ํ๋ซํผ์์ ์ฌ์ฉํ ํ๊ฒฝ์ ๋ด๋ณด๋ผ ๋๋
--from-history
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ๋ค
๊ถ์ฅ ์ํฌํ๋ก์ฐ
- ์ ํ๋ก์ ํธ๋ฅผ ์ํ ๊ฐ์ ํ๊ฒฝ ์์ฑ
- ํ๊ฒฝ ํ์ฑํ
- ํ์ํ ํจํค์ง ์ค์น
- ์ฌํ์ฑ์ ์ํด ํ๊ฒฝ ํ์ผ ๋ด๋ณด๋ด๊ธฐ
์ฃผ์ ์ฌ์ฉ ์ฌ๋ก
- ๊ฒฝ๋ Python ํ๊ฒฝ: ์ต์ํ์ ์ค์น๋ก ์์ํ์ฌ ํ์ํ ํจํค์ง๋ง ์ถ๊ฐ
- ๋ฐ์ดํฐ ๊ณผํ ํ๋ก์ ํธ: ํ๋ก์ ํธ๋ณ๋ก ๋ ๋ฆฝ๋ ํจํค์ง ํ๊ฒฝ ๊ตฌ์ฑ
- ๊ฐ๋ฐ ํ๊ฒฝ ๊ด๋ฆฌ: ๋ค์ํ Python ๋ฒ์ ๊ณผ ํจํค์ง ์กฐํฉ ํ ์คํธ
- CI/CD ํ์ดํ๋ผ์ธ: ๋น ๋ฅธ ์ค์น๊ฐ ํ์ํ ์๋ํ ํ๊ฒฝ
์ฐธ๊ณ ์๋ฃ
Footnotes
-
Anaconda. โMiniconda Documentationโ. https://www.anaconda.com/docs/getting-started/miniconda/main โฉ
-
Best practice ๊ถ์ฅ์ฌํญ์ผ๋ก, base ํ๊ฒฝ ๋์ ๋ ๋ฆฝ๋ ๊ฐ์ ํ๊ฒฝ ์ฌ์ฉ์ ๊ฐ์กฐ โฉ