1. ๐งpython ๊ฐ์ํ๊ฒฝ์ด๋?
ํ PC local ํ๊ฒฝ์์ ํ๋์ ํ๋ก์ ํธ๋ง ์งํํ๋ค๋ฉด ์๋ฌด๋ฐ ๋ฌธ์ ๊ฐ ์๋ค. ํ์ง๋ง ์ฌ๋ฌ๊ฐ์ ํ๋ก์ ํธ๋ฅผ ์งํํ๊ฒ ๋๊ฑฐ๋ ํ์ ์ ๊ฐ์์ ๋ฒ์ ๋๋ก ์งํํ ๊ฒฝ์ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. ํ๋ก์ ํธ๋ง๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ๋ฒ์ ์ด ๋ค๋ฅผ ์ ์๊ณ , ๊ฐ ๋ชจ๋์ ๋ํ ์์กด์ฑ์ด ๋ค๋ฅด๊ธฐ์ ๋ง ์ค์นํ๋ค๋ณด๋ฉด ์ถฉ๋์ด ๋ ์๋ ์๋ค. ๊ทธ๋ ๋ค๊ณ ๋ค๋ฅธ ๋ฒ์ ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ผ์ผํ ์ง์ ๋ค๊ฐ ์ค์น ํ ์ ์๊ธฐ์ ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํ ๋ ๋ฆฝ์ ์ธ ๊ฐ์ํ๊ฒฝ์ ์ ๊ณตํ๋ค.
2. ๐python ๊ฐ์ํ๊ฒฝ์ ์ข ๋ฅ ๋ฐ ๊ฐ๋จํ ์ฌ์ฉ๋ฒ
2.1 venv
ํ์ด์ฌ3 ์์๋ pip install์ ํตํด ์ค์นํ ํ์๋ ์๋ venv ๋ผ๋ ๊ฐ์ํ๊ฒฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณต๋๋ค.
-
์์ฑ : ์ํ๋(ํ๋ก์ ํธ๋ฅผ ์งํํ ) ํด๋์์ ์๋์ ๊ฐ์ ๋ช ๋ น์ด๋ฅผ ์์ฑํ๋ฉด ๋.
python -m venv ๊ฐ์ํ๊ฒฝ์ด๋ฆ # ๋๋ python -m venv ๊ฐ์ํ๊ฒฝ์ด๋ฆ --system-site-packages # ๋ค์ --system-site-packages์ ๋ถ์ด๋ฉด ๊ธฐ๋ณธ ํ์ด์ฌ ์ฌ์ฉ์ ์ค์นํ๋ ์ ์ญ ํจํค์ง๋ค์ ๊น๊ณ ์์.
๊ทธ๋ฌ๋ฉด ๊ฐ์ํ๊ฒฝ์ด๋ฆ๊ณผ ๊ฐ์ ํด๋๊ฐ ํ๋ ์๊ธฐ๋๋ฐ, ์ค์ ์์ ์ ๊ทธ ํด๋์ ๋ค์ด๊ฐ์ง ๋ง๊ณ , ์๋ ๊ณณ(ํ๋ก์ ํธ ํด๋)์์ ํ๋ฉด๋๋ค.
-
ํ์ฑํ ๋ฐ ๋นํ์ฑํ
# ์๋์ฐ cmd > ๊ฐ์ํ๊ฒฝ์ด๋ฆ\Scripts\activate.bat # bash $ source ๊ฐ์ํ๊ฒฝ์ด๋ฆ/bin/activate
๋นํ์ฑํ๋
deactivate
๋ฅผ ์ ๋ ฅํ๋ฉด ๋๋ค. -
๊ฐ์ํ๊ฒฝ ๋ด ํจํค์ง ์ค์น ๋ฐ ์ญ์
pip install๊ณผ pip uninstall์ ์ฌ์ฉํ๋ฉด ๋๋ค. -
ํจํค์ง ๋ชฉ๋ก ๊ด๋ฆฌ
pip freeze
๋ฅผ ์ ๋ ฅํ๋ฉด ํ์ธํ ์ ์๋ค. -
์ญ์ : ๋ง๋ค์๋ ๊ฐ์ํ๊ฒฝ ํด๋๋ฅผ ์ ๊ฑฐํ๋ฉด ๋.
2.2 virtualenv
๊ฑฐ์ venv์ ๋์ผํ๋ค.pip install virtualenv
๋ช
๋ น์ด๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ค์ด ๋ฐ๊ณ , virtualenv ๊ฐ์ํ๊ฒฝ๋ช
์ผ๋ก ์์ฑํ๋ค.
+ ์ถ๊ฐ๋ก --python=python3.7
๊ณผ ๊ฐ์ด ๋ค์ ์ต์
์ ๋ถ์ฌ์ ์ํ๋ ํ์ด์ฌ ๋ฒ์ ์ผ๋ก ์์ฑ์ด ๊ฐ๋ฅํ๋ค.
pip freeze > requirements.txt
๋ฅผ ์ฌ์ฉํ์ฌ ์ค์นํ ํจํค์ง๋ค์ ๋ช
์ํด๋๋ ๊ฒ์ด ํ. ๋ค๋ฅธ ๊ฐ๋ฐํ๊ฒฝ์์ ๋ณ๊ฒฝ๋ ํจํค์ง ์์กด์ฑ์ ๋ฐ์ํ ๋์๋ pip install -r requirements.txt
์ ์ฌ์ฉํ๋ค.
2.3 pipenv
pipenv๋ ํ๋ก์ ํธ ์์กด์ฑ ๊ด๋ฆฌ์ ํ์ํ ์ธ์ธํ ์ค์ ์ ๊ฐ๋ฐ์๊ฐ ์ผ์ผ์ด ์ ๊ฒฝ์ธ ํ์๊ฐ ์๋ค๋ ๊ฒ์ด ํฐ ์ฅ์ ์ด๋ค. ์์กด์ฑ์ pipfile๋ก ๊ด๋ฆฌ๋ฅผ ํด์ฃผ๋ฏ๋ก requirements.txt๋ฅผ ๋์ ํ๋ค. ๊ทธ๋ฐ ๊ธฐ๋ฅ์ ๋๊ฐ๊ฐ ๋ฐ๋ฅด๋ ๋ฒ. ๊ฐ์ฅ ํฐ ๋จ์ ์ ์๋ ๋ฌธ์ ์ด๋ค.
-
์๋๋ฒ
# ์ค์น pip install pipenv # ์์ฑ ๋ฐ ํ์ฑํ (์ํ๋ ํ๋ก์ ํธ ํด๋์์ ์คํ) pipenv shell # ๋นํ์ฑํ exit # ํจํค์ง ์ค์น pipenv install (ํจํค์ง๋ช . ์๋ต์ pipfile์ ์ ํ์๋ ํจํค์ง๋ค์ด ํ๋ฒ์ ์ค์น๋จ)
โป ์นด์นด์ค PyPI ๋ฏธ๋ฌ ์๋ฒ๋ก pip ์ค์น ์๋ ๋์ด๊ธฐ
+ pipenv ๊ด๋ จ ์ ๋ฆฌ ์ํด๋์ ๋ถ ๋งํฌ pipenv์๋ ์ฌ๋ฆฌ๊ธฐ
pip ๋ฌธ์(pip๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ)์ configuration ๋ถ๋ถ์์ Global์ ์ด์์ฒด์ ์ ๋ง๋ ๊ณณ์ pip.ini ํ์ผ์ ๋ง๋ค์ด์ ์๋์ ๋ด์ฉ์ ํธ์ง๊ธฐ๋ฅผ ์ด์ฉํด ์์ฑํด์ฃผ๋ฉด ๋๋ค. ๋์ ๊ฒฝ์ฐ window 10 ์ ์ฌ์ฉํ๋๋ฐ ๊ฒฝ๋ก๋ C:\ProgramData\pip\pip.ini ์ด๊ณณ์๋ค ์์ฑํ๋ค.
[global]
index-url=http://ftp.daumkakao.com/pypi/simple
trusted-host=ftp.daumkakao.com
์ค์น์ค์ Looking in indexes: http://ftp.daumkakao.com/pypi/simple
์ด๋ฐ ๋ถ๋ถ์ด ๋ฌ๋ค๋ฉด ์ฑ๊ณต! ๊ทธ๋๋ pipenv๋ ํจํค์ง๋ฅผ ๋ค์ด ๋ฐ์ ๋ locking ๋ ํ๋ฏ๋ก ์๊ฐ์ด ๊ฑธ๋ฆด ์ ๋ฐ์ ์๋ค.
2.4 pyenv
์์ ๊ฐ์ํ๊ฒฝ๋ค์ ํจํค์ง ๊ด๋ฆฌ๋ฅผ ํด์ค์ ํธ๋ฆฌํ์ง๋ง, ํ์ด์ฌ ๋ฒ์ ์ ๋ค๋ฅด๊ฒ ๊ฐ์ํ๊ฒฝ์ ์์ํ ๋ ์ค์น๋์ด์๋ ๋ฒ์ ๋ง ๊ฐ๋ฅํ๋ค. ํ์ง๋ง pyenv๋ ํ์ด์ฌ ์ฌ๋ฌ ๋ฒ์ ์ ์์ฝ๊ฒ ๋ฐ๊ฟ๊ฐ๋ฉด์ ์ธ ์ ์๋๋ก ํด์ฃผ๋ ๋๊ตฌ์ด๋ค. ๊ทธ์ผ๋ง๋ก ์์ ๊ฐ์ํ๊ฒฝ๋ค๊ณผ์ ์ง๊ถ์ด๋ผ ๋ณด๋ฉด ๋๊ฒ ๋ค.
window
์ฐธ๊ณ ๋งํฌ : https://github.com/pyenv-win/pyenv-win#pyenv-win-commands
mac
home brew๋ก ๊ฐํธํ๊ฒ ์ค์น.
brew install pyenv
๋ง๋ฌด๋ฆฌ
์์ ๊ฐ์ํ๊ฒฝ ๋๊ตฌ๋ค ๋ง๊ณ ๋ ๋ค๋ฅธ ๋ค์ํ ๋ง์ง๋ง, ๊ฐ๊ฐ ์ฅ๋จ์ ์ด ์๋ ๊ฒ ๊ฐ๋ค. ๋ณธ์ธ์ด ์งํํ๋ ํ๋ก์ ํธ๋ ์ํฉ์ ๋ง์ถฐ ์ฌ์ฉ์ ํ๋ ๊ฒ์ด ์ข์ ๊ฒ ๊ฐ๋ค. ์ดํ์๋ ๋ ์ข์ ๊ฒ๋ค์ ์๊ฒ ๋๋ฉด ํฌ์คํ ํด์ผ์ง ์ค๋์ 20000 ~~ ๐
reference
'์์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
PyTorch ์ค์นํ๊ธฐ.(with CUDA, cuDNN) (0) | 2021.02.18 |
---|---|
Git ๊ฐ์ ๋ฐ ์ค์ (0) | 2021.02.14 |
ํ์ด์ฌ ์ค์นํ๊ธฐ! (feat. ์๋์ฝ๋ค) (0) | 2021.01.08 |
์ฒ์ ์์ํ๋ ๊ฐ๋ฐ ๋ธ๋ก๊ทธ... ์ด๋ค ๊ฑธ๋ก ์์ํด์ผ ํ ๊น? (0) | 2020.12.10 |