๐ ๊ฐ์ ํ๊ฒฝ(virtual environment)
Python์ ๊ฐ์ ํ๊ฒฝ(virtual environment)์ ํ๋ก์ ํธ๋ง๋ค ๊ณ ์ ํ ํจํค์ง์ ์์กด์ฑ์ ๊ด๋ฆฌํ ์ ์๋๋ก ๋ณ๋์ Python ํ๊ฒฝ์ ์์ฑํ๋ ๋๊ตฌ์ด๋ค. ๊ฐ์ ํ๊ฒฝ์ ์ฌ์ฉํ๋ฉด ํ๋ก์ ํธ๋ง๋ค ๋ ๋ฆฝ์ ์ธ Python ํจํค์ง ํ๊ฒฝ์ ๊ตฌ์ถํ ์ ์์ด, ํจํค์ง ๋ฒ์ ์ถฉ๋์ ๋ฐฉ์งํ๊ณ , ๋ค๋ฅธ ํ๋ก์ ํธ์์ ์์กด์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค.
** ๊ฐ์ ํ๊ฒฝ์ ํ์์ฑ
Python ํ๋ก์ ํธ๋ง๋ค ์ฌ์ฉํด์ผ ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ๋ค๋ฅผ ์ ์๊ณ , ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๊ฐ๋๋ผ๋ ๋ฒ์ ์ด ๋ค๋ฅผ ์ ์๋ค. ์ด ๊ฒฝ์ฐ ๊ฐ์ ์์คํ ํ๊ฒฝ์์ ์ด ๋ ํ๋ก์ ํธ๋ฅผ ๊ด๋ฆฌํ๊ธฐ๊ฐ ์ด๋ ค์ธ ์ ์๋ค. ๊ฐ์ ํ๊ฒฝ์ ์ฌ์ฉํ๋ฉด ํ๋ก์ ํธ๋ณ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ ์ ๋ ๋ฆฝ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ค.
** ์์ฝ
- ๊ฐ์ ํ๊ฒฝ ํ์ฑํ:
conda activate myenv
- ์ฝ๋ ์คํ:
python my\_script.py
๋๋ python (์ธํฐํ๋ฆฌํฐ ์ฌ์ฉ) - ๊ฐ์ ํ๊ฒฝ ๋นํ์ฑํ:
conda deactivate
1. ๊ฐ์ ํ๊ฒฝ ์์ฑํ๊ธฐ
โ ๊ฐ์ ํ๊ฒฝ ์์ฑ
์๋ก์ด ๊ฐ์ ํ๊ฒฝ์ ์์ฑํ๋ ค๋ฉด conda create ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ค.
conda create --name myenv
์ ๋ช ๋ น์ด๋ myenv๋ผ๋ ์ด๋ฆ์ ๊ฐ์ ํ๊ฒฝ์ ์์ฑํ๋ค. ํ๊ฒฝ ์ด๋ฆ์ ์ํ๋ ๋๋ก ์ง์ ํ ์ ์๋ค.
โ ํน์ Python ๋ฒ์ ์ ์ง์ ํ์ฌ ํ๊ฒฝ ์์ฑ
ํน์ Python ๋ฒ์ ์ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ, ๋ฒ์ ์ ๋ช ์ํ์ฌ ๊ฐ์ ํ๊ฒฝ์ ์์ฑํ ์ ์๋ค.
conda create --name myenv python=3.8
์ ๋ช ๋ น์ด๋ Python 3.8 ๋ฒ์ ์ ์ฌ์ฉํ๋ myenv ๊ฐ์ ํ๊ฒฝ์ ์์ฑํ๋ค.
โ Python 3.10** ๋ฒ์ ์ ์ฌ์ฉํ๋ ์๋ก์ด ๊ฐ์ ํ๊ฒฝ myenv01์ ์์ฑํ๋ ๋ช ๋ น์ด
conda create -n myenv python=3.10
โญ --name ์ต์ ์ ํ๊ฒฝ์ ์ด๋ฆ์ ์ง์ ํ๋ ๋ ๊ฐ์ ๋์(--)๊ฐ ์๋ ๊ธด ํํ์ ์ต์ ์ด๋ฉฐ,
๋จ์ถํ ์ต์ ์ผ๋ก๋ -n(๋์ ํ๋)๋ ์ฌ์ฉํ ์ ์๋ค.
2. ๊ฐ์ ํ๊ฒฝ ํ์ฑํ
์์ฑํ ๊ฐ์ ํ๊ฒฝ์ ์ฌ์ฉํ๋ ค๋ฉด ํ์ฑํํด์ผ ํ๋ค.
conda activate myenv
ํฐ๋ฏธ๋์ (myenv)์ ๊ฐ์ด ํ์๋๋ฉฐ, myenv ๊ฐ์ ํ๊ฒฝ์ด ํ์ฑํ๋ ์ํ์์ ๋ํ๋ธ๋ค.
3. ํจํค์ง ์ค์น ๋ฐ ๊ด๋ฆฌ
๊ฐ์ ํ๊ฒฝ์ด ํ์ฑํ๋ ์ํ์์ conda install ๋ช ๋ น์ด๋ก ํจํค์ง๋ฅผ ์ค์นํ ์ ์๋ค.
conda install requests
์ ๋ช ๋ น์ด๋ ํ์ฌ ํ์ฑํ๋ myenv ํ๊ฒฝ์๋ง requests ํจํค์ง๋ฅผ ์ค์นํ๋ค.
โ conda์ pip์ ํจ๊ป ์ฌ์ฉํ๊ธฐ
Conda ํ๊ฒฝ์์ ์ ๊ณต๋์ง ์๋ ํจํค์ง๊ฐ ์์ ๊ฒฝ์ฐ, pip๋ฅผ ํตํด ์ค์นํ ์๋ ์๋ค. Conda์ pip๋ฅผ ํจ๊ป ์ฌ์ฉํ ๋๋ ๊ฐ์ ํ๊ฒฝ์ด ํ์ฑํ๋ ์ํ์์ pip install์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ค์ํ๋ค.
pip install some_package
์ด๋ ๊ฒ ํ๋ฉด ํด๋น ํจํค์ง๋ myenv ํ๊ฒฝ ๋ด์๋ง ์ค์น๋๋ฉฐ, ์์คํ ์ ์ญ ํ๊ฒฝ์๋ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ค.
4. ๊ฐ์ ํ๊ฒฝ ๋นํ์ฑํ
๊ฐ์ ํ๊ฒฝ ์ฌ์ฉ์ ๋ง์ณค์ผ๋ฉด, conda deactivate ๋ช ๋ น์ด๋ก ํ๊ฒฝ์ ๋นํ์ฑํํ์ฌ ์์คํ ๊ธฐ๋ณธ ํ๊ฒฝ์ผ๋ก ๋์๊ฐ ์ ์๋ค.
conda deactivate
5. ๊ฐ์ ํ๊ฒฝ ๊ด๋ฆฌ
โ ๊ฐ์ ํ๊ฒฝ ๋ชฉ๋ก ํ์ธ
ํ์ฌ ์์ฑ๋ ๋ชจ๋ ๊ฐ์ ํ๊ฒฝ์ ํ์ธํ๋ ค๋ฉด conda env list ๋๋ conda info --envs ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ค.
conda env list
โ ๊ฐ์ ํ๊ฒฝ ์ญ์
์ฌ์ฉํ์ง ์๋ ํ๊ฒฝ์ conda remove --name myenv --all ๋ช ๋ น์ด๋ก ์ญ์ ํ ์ ์๋ค.
conda remove --name myenv --all
๐ ๊ฐ์ ํ๊ฒฝ์ ์ฅ์
- ํ๋ก์ ํธ ๋ ๋ฆฝ์ฑ: ์ฌ๋ฌ ํ๋ก์ ํธ๋ง๋ค ํ์ํ ํจํค์ง์ Python ๋ฒ์ ์ ๋ ๋ฆฝ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์์ด, ์ถฉ๋ ์์ด ์์ ํ ์ ์๋ค.
- ๋ฒ์ ์ ์ด: ํน์ ํ๋ก์ ํธ์ ์๊ตฌ ์ฌํญ์ ๋ง์ถฐ Python ๋ฐ ํจํค์ง ๋ฒ์ ์ ๊ณ ์ ํ์ฌ ์์ ์ฌํ์ฑ์ ๋์ผ ์ ์๋ค.
- ์์คํ ๋ณดํธ: ์์คํ ์ ๊ธฐ๋ณธ Python ํ๊ฒฝ์ ์ํฅ์ ์ฃผ์ง ์์ผ๋ฏ๋ก, ์์คํ ์ ๋ฐ์ ์์ ์ฑ์ ์ ์งํ ์ ์๋ค.
Miniconda๋ฅผ ์ฌ์ฉํ ๊ฐ์ ํ๊ฒฝ ๊ด๋ฆฌ๋ ์ฌ๋ฌ ํ๋ก์ ํธ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ , ๊ฐ ํ๋ก์ ํธ๋ณ๋ก ์ผ๊ด๋ ์์ ํ๊ฒฝ์ ์ค์ ํ๋ ๋ฐ ๋งค์ฐ ์ ์ฉํ๋ค.
'๐ฉโ๐ป hello, world! > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ์ด์ฌ ๊ธฐ์ด 09 - ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ (External Libraries) (5) | 2024.11.03 |
---|---|
ํ์ด์ฌ ๊ธฐ์ด 08 - ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ (Standard Libraries) (1) | 2024.11.02 |
ํ์ด์ฌ ๊ธฐ์ด 07 - ๋ด์ฅํจ์ (0) | 2024.11.02 |
ํ์ด์ฌ ๊ธฐ์ด 06 - ์์ธ ์ฒ๋ฆฌ (0) | 2024.11.02 |
ํ์ด์ฌ ๊ธฐ์ด 05 - ๋ชจ๋, ํจํค์ง (1) | 2024.11.01 |