๐ 1. ํ์ด์ฌ ํจํค์ง๋?
- ํ์ด์ฌ ํจํค์ง๋ ํน์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์ฝ๋ ๋ชจ์(๋ชจ๋๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ).
pip
(Python Package Installer)๋ฅผ ์ฌ์ฉํด ํจํค์ง๋ฅผ ์ค์นํ๊ณ ๊ด๋ฆฌ.- ์์:
pip install requests
โrequests
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์น.
๐ 2. ํจํค์ง ๊ด๋ฆฌ ๋ฐ ๊ฐ์ํ๊ฒฝ ๋๊ตฌ
1๏ธโฃ pyenv (ํ์ด์ฌ ๋ฒ์ ๊ด๋ฆฌ)
- ์ฌ๋ฌ ๊ฐ์ ํ์ด์ฌ ๋ฒ์ ์ ์ค์นํ๊ณ ์ ํํ๋ ๋๊ตฌ.
- ์์คํ ๊ธฐ๋ณธ ํ์ด์ฌ์ ๋ณ๊ฒฝํ์ง ์๊ณ ํน์ ๋ฒ์ ์ ํ๋ก์ ํธ๋ณ๋ก ์ค์ ๊ฐ๋ฅ.
- ์๋์ฐ:
pyenv-win
์ฌ์ฉ (GitHub) - ๋งฅ:
brew install pyenv
๋ก ์ค์น ๊ฐ๋ฅ.
โ ์ฃผ์ ๋ช ๋ น์ด
# pyenv ์ค์น (๋งฅ)
brew install pyenv
# pyenv ์ค์น (์๋์ฐ)
git clone https://github.com/pyenv-win/pyenv-win.git ~/.pyenv
# ์ค์น ๊ฐ๋ฅํ ํ์ด์ฌ ๋ฒ์ ๋ชฉ๋ก ํ์ธ
pyenv install --list
# ํน์ ๋ฒ์ ์ ํ์ด์ฌ ์ค์น
pyenv install 3.12.3
# ์ค์น๋ ํ์ด์ฌ ๋ฒ์ , ํ์ฌ ํ์ฑํ๋ ํ์ด์ฌ ๋ฒ์ ํ์ธ
pyenv versions
# ํน์ ํด๋์์ ํ์ด์ฌ ๋ฒ์ ์ง์
pyenv local 3.11.9
# ์ ์ญ ํ์ด์ฌ ๋ฒ์ ์ค์ . ๊ธฐ๋ณธ ํ์ด์ฌ ๋ฒ์ ์ 3.12.3์ผ๋ก ์ค์
pyenv global 3.12.3
2๏ธโฃ venv (๊ฐ์ํ๊ฒฝ ์์ฑ ๋ฐ ๊ด๋ฆฌ)
- ํ๋ก์ ํธ๋ง๋ค ๋ ๋ฆฝ์ ์ธ ํจํค์ง ํ๊ฒฝ์ ์ ๊ณตํ๋ ํ์ด์ฌ ๋ด์ฅ ๋ชจ๋.
- ํ๋์ ์์คํ ์์ ์ฌ๋ฌ ํ๋ก์ ํธ๊ฐ ์๋ก ๋ค๋ฅธ ํจํค์ง ๋ฒ์ ์ ์ฌ์ฉํ ์ ์๋๋ก ์ง์.
โ ๊ฐ์ํ๊ฒฝ ์์ฑ ๋ฐ ํ์ฑํ
๊ฐ์ํ๊ฒฝ ์์ฑ ์ .venv
์ฒ๋ผ "."์ผ๋ก ์์ํ๋ ์ด์ ?
- "."์ผ๋ก ์์ํ๋ฉด ์จ๊น ํ์ผ/ํด๋๋ก ์ธ์๋จ.
โ ํฐ๋ฏธ๋์์ls -la
๋ฅผ ์ฌ์ฉํด์ผ ๋ณด์(๋งฅ/๋ฆฌ๋ ์ค ๊ธฐ์ค). - ๊ฐ์ํ๊ฒฝ ํด๋๋ฅผ ๊น๋ํ๊ฒ ์จ๊ธฐ๊ธฐ ์ํด ์์ฃผ ์ฌ์ฉ๋จ.
โ.venv
๋ฅผ ์ฌ์ฉํ๋ฉด ํ๋ก์ ํธ ํด๋ ๋ด์์ ๊น๋ํ๊ฒ ๊ด๋ฆฌ ๊ฐ๋ฅ. - IDE(์: VSCode)์์ ์๋ ์ธ์์ด ์ฌ์.
โ VSCode๋.venv
ํด๋๊ฐ ์์ผ๋ฉด ์๋์ผ๋ก ํด๋น ํ๊ฒฝ์ ๊ฐ์งํ๊ณ ์ค์ .
ํ์ง๋ง .venv
๊ฐ ํ์๋ ์๋!
์๋์ ๊ฐ์ด ํด๋๋ช ์ ์์ ๋กญ๊ฒ ์ง์ ๊ฐ๋ฅ:
# ๊ฐ์ํ๊ฒฝ ์์ฑ (์๋์ฐ & ๋งฅ)
python -m venv .venv # ".venv" ํด๋ ์์ฑ (์จ๊นํด๋)
python -m venv myenv # "myenv" ํด๋ ์์ฑ (์จ๊น ์๋)
# ๊ฐ์ํ๊ฒฝ ํ์ฑํ
# ์๋์ฐ (cmd)
.venv\Scripts\activate
# ์๋์ฐ (PowerShell)
.venv\Scripts\Activate.ps1
# ๋งฅ / ๋ฆฌ๋
์ค
source .venv/bin/activate
# ๊ฐ์ํ๊ฒฝ ๋นํ์ฑํ (์๋์ฐ & ๋งฅ ๋์ผ)
deactivate
3๏ธโฃ pip
๋ก ํจํค์ง ์ค์น ๋ฐ ๊ด๋ฆฌ
requirements.txt
ํ์ผ์ ์ฌ์ฉํ๋ฉด ํ๋ก์ ํธ์ ํ์ํ ํจํค์ง ๋ชฉ๋ก์ ๊ธฐ๋กํ๊ณ ๊ณต์ ๊ฐ๋ฅ.- ๊ฐ์ํ๊ฒฝ์์ ํจํค์ง๋ฅผ ์ค์นํ๊ณ
requirements.txt
๋ก ๊ด๋ฆฌํ๋ฉด ํ์ ์ด๋ ๋ฐฐํฌ ์ ์ ์ฉ.
โ ํจํค์ง ๋ชฉ๋ก ์ ์ฅ & ์ค์น. requirements.txt (ํจํค์ง ์์กด์ฑ ๊ด๋ฆฌ)
# ํ์ฌ ํ๊ฒฝ์์ ์ค์น๋ ํจํค์ง ํ์ธ
pip list
# ํจํค์ง ์ค์น
# pip install ํจํค์ง๋ช
pip install pandas
# ํน์ ๋ฒ์ ์ ํจํค์ง ์ค์น
# pip install ํจํค์ง๋ช
==๋ฒ์ ๋ฒํธ
pip install requests==2.26.0 # requests ํจํค์ง 2.26.0 ๋ฒ์ ์ค์น
# ํจํค์ง ์ต์ ๋ฒ์ ์ผ๋ก ์
๋ฐ์ดํธ
# pip install --upgrade ํจํค์ง๋ช
pip install --upgrade requests
# ํ์ฌ ๊ฐ์ํ๊ฒฝ์์ ์ค์น๋ ํจํค์ง ๋ชฉ๋ก ์ ์ฅ
pip freeze > requirements.txt
# requirements.txt ๊ธฐ๋ฐ์ผ๋ก ํจํค์ง ์ผ๊ด ์ค์น
pip install -r requirements.txt
๐ 3. ์ค์นํ ํจํค์ง๋ ํด๋น ๊ฐ์ํ๊ฒฝ์์ ์คํํด์ผ ํ๋ค!
์ ๊ฐ์ํ๊ฒฝ์ ์ฌ์ฉํด์ผ ํ ๊น?
pip install
๋ก ํจํค์ง๋ฅผ ์ค์นํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฌ ํ์ฑํ๋ ํ๊ฒฝ์ ์ค์น๋จ.- ๊ฐ์ํ๊ฒฝ์ ํ์ฑํํ ํ ํจํค์ง๋ฅผ ์ค์นํ๋ฉด ํด๋น ๊ฐ์ํ๊ฒฝ์์๋ง ์ ์ฉ๋จ.
- ์ฆ, ํน์ ๊ฐ์ํ๊ฒฝ์ ํ์ฑํํ์ง ์๊ณ ์คํํ๋ฉด, ์ํ๋ ํจํค์ง๊ฐ ์์ ์ ์์.
โ ์ค์นํ ํจํค์ง ์์น ํ์ธ
# ํ์ฌ ํ์ฑํ๋ ํ์ด์ฌ์ด ์ด๋์ ์๋์ง ํ์ธ
which python # ๋งฅ/Linux
where python # ์๋์ฐ
# ์ค์น๋ ํจํค์ง ๋ชฉ๋ก ํ์ธ
pip list
โ ๏ธ ์ฃผ์ํ ์
- ๊ฐ์ํ๊ฒฝ์ ํ์ฑํํ ์ํ์์ ํจํค์ง๋ฅผ ์ค์นํด์ผ ํด๋น ํ๋ก์ ํธ์์ ์ฌ์ฉํ ์ ์์.
- ์์คํ
์ ์ฒด์ ์ํฅ์ ์ฃผ์ง ์์ผ๋ ค๋ฉด ํญ์
venv
๋๋pyenv
๋ฑ์ ํ์ฉํ๋ ๊ฒ์ด ์ข์.
๐ก ์ ๋ฆฌ
pyenv
โ ํ์ด์ฌ ๋ฒ์ ๊ด๋ฆฌ ๋๊ตฌ (์ฌ๋ฌ ๋ฒ์ ์ ํ์ด์ฌ์ ์ฝ๊ฒ ์ ํ)venv
โ ํ๋ก์ ํธ๋ณ ๊ฐ์ํ๊ฒฝ ๊ด๋ฆฌ ๋๊ตฌpip
โ ํ์ด์ฌ ํจํค์ง ๊ด๋ฆฌ ๋๊ตฌrequirements.txt
โ ํจํค์ง ๋ชฉ๋ก์ ์ ์ฅํ๊ณ ๊ณต์ ํ๋ ํ์ผ
์ฆ, ํ๋ก์ ํธ๋ฅผ ํ ๋๋:
pyenv
๋ฅผ ์ฌ์ฉํด ์ ์ ํ ํ์ด์ฌ ๋ฒ์ ์ค์ (ํ์ํ ๊ฒฝ์ฐ)venv
๋ก ๊ฐ์ํ๊ฒฝ์ ์์ฑํ๊ณ ํ์ฑํpip install
๋ก ํ์ํ ํจํค์ง๋ฅผ ์ค์นrequirements.txt
๋ก ํจํค์ง๋ฅผ ๊ด๋ฆฌ
์ด๋ฐ ์์๋ก ํ๋ฉด ์์ ์ ์ธ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ ์งํ ์ ์์ด! ๐
๐ฏ ์ต์ ์ ํ๋ก์ ํธ ์ธํ ์์
# 1. pyenv๋ก ํ์ํ ํ์ด์ฌ ๋ฒ์ ์ค์น (์ ํ ์ฌํญ)
pyenv install 3.10.6
pyenv global 3.10.6 # ๊ธฐ๋ณธ ํ์ด์ฌ ๋ฒ์ ์ค์
# 2. ํ๋ก์ ํธ ํด๋์์ ๊ฐ์ํ๊ฒฝ ์์ฑ
python -m venv .venv
# 3. ๊ฐ์ํ๊ฒฝ ํ์ฑํ
source .venv/bin/activate # (๋งฅ/Linux)
.venv\Scripts\activate # (์๋์ฐ CMD)
# 4. ํ์ํ ํจํค์ง ์ค์น
pip install requests==2.26.0
# 5. ํจํค์ง ๋ชฉ๋ก ์ ์ฅ
pip freeze > requirements.txt
# 6. (ํ์
์) ํจํค์ง ์ค์น
pip install -r requirements.txt
'Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Colab] Colab์์ `requirements.txt` ์์ฑํ๋ ์ด์ (0) | 2025.04.17 |
---|---|
[python] ๋ฐ์ดํฐ ์์ง - ์น ํฌ๋กค๋ง (0) | 2025.03.25 |
[Colab] Oracle โ MySQL: ngrok๊ณผ Pandas๋ก ๊ตฌํํ๋ ์ธ๋ถ DB ์ฐ๋ ์ค์ต ๊ฐ์ด๋ (0) | 2025.03.24 |
[Colab] Colab & Jupyter์์ !, %, %% Magic commands ์๋ฒฝ ์ ๋ฆฌ (0) | 2025.03.24 |
[Python] Python ๋ชจ๋์ import ๋ฐ from import ์ ๋ฆฌ (0) | 2025.03.19 |
๋๊ธ