๋ฐฉ๊ธ pipenv๋ฅผ ์ฌ์ฉํ์ฌ python ํ๋ก์ ํธ๋ฅผ ์ค์ ํ์ต๋๋ค. ๋ด๊ฐ ์๊ณ ์ถ์ ํ ๊ฐ์ง๋ pipenv๊ฐ virtualenv์ ๋ํ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ์ ๋งคํ์ ์ ์ฅํ๋ ์์น์ ๋๋ค.
๋ถ๋ช ํํ๊ธฐ ์ํด ๋ค์ ๋ช ๋ น์ ์คํํ๊ณ ์์ต๋๋ค.
sacjain-macOS:coursera-classification sacjain$ pipenv --venv
/Users/sachinjain/.local/share/virtualenvs/coursera-classification-iTBt6WsT
๋๋ Pipfile๊ณผ Pipfile.lock์ ํ์ธํ๊ณ , ์ด ์ ๋ณด๊ฐ Pipfile์ ์์ด์ผ ํ๋ค๊ณ ๊ฐ์ ํ์ง๋ง ๊ฑฐ๊ธฐ์ ์์์ต๋๋ค.
Q2. pipenv๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ๋ฒ์ ์ ํจํค์ง๋ฅผ ์ด๋ป๊ฒ ์ค์นํ ์ ์์ต๋๊น?
virtualenv์ ์ด๋ฆ์ ํ๋ก์ ํธ์ ๋ฃจํธ ๋๋ ํฐ๋ฆฌ ์ด๋ฆ์ ํ๋ก์ ํธ ๋ฃจํธ์ ๋ํ ์ ์ฒด ๊ฒฝ๋ก์ ํด์๋ฅผ ๋ํ ๊ฒ์ ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํ๋ก์ ํธ๋ฅผ ์ด๋ํ์ง ์๋ ํ ๊ณ ์ ํ๊ณ ์์ธก ๊ฐ๋ฅํ ์ด๋ฆ์ด ๋ณด์ฅ๋ฉ๋๋ค. (AFAICT ์ด ์ด๋ฆ ์์ฑ ๋ ผ๋ฆฌ๋ ์์กดํด์๋ ์ ๋๋ ๊ตฌํ ์ธ๋ถ ์ฌํญ์ ๋๋ค.)
ํจํค์ง์ ํน์ ๋ฒ์ ์ ์ค์นํ๋ ค๋ฉด pip ๋ฐ requirements.txt์ ๋์ผํ ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ญ์์ค(์: pipenv install django==1.11.0
.
@uranusjr ์ด๊ฒ์ ๋๋ ํ ๋ฆฌ์ ์ด๋ฆ์ ๋ฐ๊พธ๋ฉด ๋ด ํ๋ก์ ํธ์ virtualenv๊ฐ ์์ค๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๊ทธ ๋์. ๋๋ ํ ๋ฆฌ์ ์ด๋ฆ์ ๋ฐ๊พธ๋ ๊ฒ์ ์ผ๋ฐ์ ์ธ ์ฌ์ฉ ์ฌ๋ก์ผ ์ ์์ผ๋ฉฐ ์ฌ์ฉ์๋ ์ด์ ๋น ์ง๊ณ ํ๊ฒฝ์ด ์ด๋ป๊ฒ ์๋์ ๋ฉ์ท๋์ง ๊ถ๊ธํดํ ์ ์์ต๋๋ค.
๊ฐ๋ฅํ ๊ฒฝ์ฐ ์์ ํ๊ณ Pipfile์ ํญ๋ชฉ์ ๋ง๋๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋๋ ๋ค๋ฅธ .pipenv ํ์ผ์ ๋ง๋ค์ด ๊ฐ ํ๋ก์ ํธ ๋๋ ํฐ๋ฆฌ์ ์ด๋ฌํ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค.
๋น์ ์ ๋ฌด์์ ์ ์ํฉ๋๊น?
๋ ์ง๋ฌธ์ ๋ชจ๋ ๋ตํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
@sachinjain024๋ , ๋ก์ปฌ ๋ฉํ๋ฐ์ดํฐ ํ์ผ์ ๋ํด ๋ช ๊ฐ์ง ๋ ผ์๋ฅผ ํ์ง๋ง ํ์ฌ๋ก์๋ pipenv๊ฐ ์ง์ํ์ง ์์ ๊ฒ์ด๋ผ๋ ๊ด๋ฆฌ์์ ํฉ์๊ฐ ์์์ต๋๋ค.
ํ๋ก์ ํธ๋ฅผ ์๋ณํ๋ ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก๋ ์ด๋ฆ์ด ๊ฐ์ ํ๋ก์ ํธ ๋๋ ๋์ผํ ํ๋ก์ ํธ์ ์ฌ๋ฌ ๋ณต์ฌ๋ณธ์ด ํ๊ฒฝ ์ํ๋ฅผ ์ค์๋ก ๋ฎ์ด์ฐ๋ ์์ธ์ด ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ธฐ์ ๊ตฌํ๋ ๊ฒ์ ๋๋ค.
์ค์ ๋ก ์์ ์ ์กฐ์ฉํ ๋ฎ์ด์ฐ๋ ๊ฒ๋ณด๋ค ์์น๊ฐ ํ๊ฒฝ์ ์ผ๋ถ์ธ ๋ฌธ์ ๋ฅผ ๊ฒช๋ ์ฌ๋์ด ํจ์ฌ ์ ์ต๋๋ค. Pipenv๋ ๊ฒฐ๊ตญ ๋ฐฐํฌ ๊ด๋ฆฌ ๋๊ตฌ์ด๋ฏ๋ก ๋๋ ํ ๋ฆฌ๋ฅผ ์ด๋ํ๋ ๊ฒ์ ํ๋์ ๋ช ๋ น ์์ ์ด์ด์ผ ํฉ๋๋ค.
@nateprewitt ๊ฐ์ฌํฉ๋๋ค. ์ฌ์ด ๊ตฌํ์ผ๋ก ๋น ๋ฅด๊ฒ ์ด๋ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋์ค ๋จ๊ณ์์ ํ๋ก์ ํธ ์ด๋ฆ์ ๋ฐ๊พธ๋ฉด ๋ด ํ๊ฒฝ์ด ์กด์ฌํ์ง ์๋๋ค๋ ์๋ฏธ์ ๋๋ค.
์ด ์ํฉ์์ ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?
์ด ๊ฒฝ์ฐ ๋ฌด์์ ์ ์ํฉ๋๊น? ์์ผ๋ก ์ด๋ฐ ์ํฉ์ ์ฒํ ๊ฒฝ์ฐ๋ฅผ ๋๋นํ์ฌ ๊ถ๊ธํฉ๋๋ค.
pew cp
๋ฅผ ์ฌ์ฉํ์ฌ ๊ธฐ์กด virtualenv๋ฅผ ์ฝ๊ฒ ๋ณต์ฌํ ์ ์์ง๋ง 1. ๋ "์ ๊ท์ ์ธ" ๋ฐฉ๋ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
@sachinjain024 , ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ๋ฅผ ์ด๋ํด์ผ ํ ๋๋ง๋ค pipenv install
๋ง ์คํํ๋ฉด ์๋ ์ํ๋ก ๋์๊ฐ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ ํด์๋ฅผ ์ฌ์ฉํ์ฌ ํ๊ฒฝ์ ๋ง๋ค๊ณ ์ด์ ์ค์น์ ๋์ผํ๊ฒ ์ ๊ธ ํ์ผ์ ๋ชจ๋ ํญ๋ชฉ์ ๋ค์ ์ค์นํฉ๋๋ค.
์ด ์์
์ ์์ฃผ ์ํํ๋ ๊ฒฝ์ฐ pew rm old_project-a3de90
๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ฆฌํ ์ ์์ต๋๋ค.
pipenv ์ธ๋ถ์์ ๊ฐ์ ํ๊ฒฝ์ ์์ ํ์ง ์๋ ํ pew cp
์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด ๊ฒฝ์ฐ "๋ฌดํจ ๋ณด์ฆ" ์๋๋ฆฌ์ค๋ฅผ ๊ณ ๋ คํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฐ๋ฆฌ๊ฐ ์์ ์ ์ผ๋ก ์ค๋ช
ํ ์ ์๋ ๋ชจ๋ ์ข
๋ฅ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์๊ธฐ ๋๋ฌธ์
๋๋ค.
@nateprewitt @uranusjr ๊ฐ์ฌํฉ๋๋ค. ์ด ํฐ์ผ์ ๋ซ์ต๋๋ค.
์ด๊ฒ์ ์ง๊ธ๊น์ง pipenv
๋์จ ์ต์
์ ์์ด๋์ด ์ค ํ๋์
๋๋ค. ์ด์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ ๋ Python์ด ๋ง์ ๋ด๋ถ ํ๋ก์ ํธ์ ํ
์คํธ ์๋ํ์ ์ฌ์ฉ๋๋ ํ์ฌ์์ ์ผํฉ๋๋ค. ํ ํ
์คํฐ๋ ์ผ๋ฐ์ ์ผ๋ก ๊ทธ ์ค 12๊ฐ์์ ์์
ํฉ๋๋ค. ๊ด๋ก์ ๋ฐ๋ผ ํ๋ก์ ํธ์ ๋ชจ๋ ํ
์คํธ ์ฝ๋๋ tests
๋๋ ํ ๋ฆฌ์ ์์ต๋๋ค. ์ด๊ฒ์ ๊ฐ ํ
์คํฐ๊ฐ ์ด์ ~/.local/share/virtualenvs/tests-hKjFddnZ
์ ๊ฐ์ ๊ฐ์ ํ๊ฒฝ์ ๊ฐ๊ฒ ๋์์์ ์๋ฏธํฉ๋๋ค. ๊ฐ์ ํ๊ฒฝ์ ์ ํํ๋ ๊ฒ์ ์๋ ๊ฒ์ ์ธ๊ฐ์ ๋ณธ์ฑ์ด๋ฏ๋ก ํด๋น ์ํฌ์คํ
์ด์
์ ์๋ ์ฌ๋์ด ํ์ํ ํจํค์ง๋ฅผ ์ค์นํ๋ค๊ณ ์๊ฐํ๊ธฐ ๋๋ฌธ์ ๋ฉฐ์น ๋ง๋ค ๋ค๋ฅธ ์ํฌ์คํ
์ด์
์ผ๋ก ํธ์ถ๋ฉ๋๋ค. pipenv install
. ๊ทธ๋ฌ๋ ์ฝ๋์ ๊ฐ์ ธ์ค๊ธฐ๊ฐ ์๋ํ์ง ์์ต๋๋ค. ๊ทธ๋ฟ๋ง ์๋๋ผ ๊ณ ์ ๊ฐ์ ํ๊ฒฝ์ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋์ ๋์ง๋ง ๋ชจ๋ ์ค๋ช
์ด ๋ถ๊ฐ๋ฅํ ์ด๋ฆ์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ์ง ์๋ ํ๊ฒฝ์ ์ญ์ ํ๋ ๊ฒ์ธ์ง ์ค์ ๋ก ์ฌ์ฉ๋๋ ํ๊ฒฝ์ ์ญ์ ํ๋ ๊ฒ์ธ์ง ์ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์ด๋ CI์์ ๋งค์ผ ์๋ฐฑ ๊ฐ๋ ์๋๋๋ผ๋ ์์ญ ๊ฐ์ ๊ฐ์ ํ๊ฒฝ์ ์์ฑํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๋ณธ์ง์ ์ผ๋ก ์์์ ์ด๋ฆ์ ๊ฐ์ง ํ๊ฒฝ์ ์ถ์ ํ ์ ์๋ ์ฌ๋์ ์๊ณ ํ๊ฒฝ์ด ๋๋ฌด ๋ง๊ธฐ ๋๋ฌธ์ ์ ์ด๋ ํ๋ฃจ์ ํ ๋ฒ์ ๋ชจ๋ ํ๊ฒฝ์ ์ญ์ ํด์ผ ํฉ๋๋ค. pipenv
์ ์ฐ๋ฆฌ ํ์ฌ์ ๋๊ตฐ๊ฐ๊ฐ ๊ทธ๊ฒ์ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ ์ด ๋งค์ฐ ํ๋ช
ํ ๊ฒฐ์ ๋๋ฌธ์ ์ฐ๋ฆฌ๋ ๋๊ธฐ ์๊ฐ์ ๋ง๋ํ ๋น์ฉ์ ์ง๋ถํฉ๋๋ค...
bashrc / ์ ๊ตฌ์ฑ์์ export PIPENV_VENV_IN_PROJECT=1
๋ฅผ ์ค์ ํ์ญ์์ค.
(๋๋ $PROJECT/.venv์ ๊ฐ์ ํ๊ฒฝ์ ์์ฑํ๋๋ก ์ ์คํฌ๋ฆฝํธ๋ฅผ ๋ณ๊ฒฝํ ๋ค์
pipenv๋ ๊ทธ๊ฒ์ ๊ฐ์ง ๊ฒ์
๋๋ค)
2018๋
3์ 19์ผ ์์์ผ ์ค์ 6์ 28๋ถ wvxvw [email protected]์์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
์ด๊ฒ์ ์ง๊ธ๊น์ง pipenv์์ ๋์จ ์ต์ ์ ์์ด๋์ด ์ค ํ๋์ ๋๋ค. ์ด์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ ๋ Python์ด ๋ง์ ํ ์คํธ ์๋ํ์ ์ฌ์ฉ๋๋ ํ์ฌ์์ ์ผํ๊ณ ์์ต๋๋ค.
๋ด๋ถ ํ๋ก์ ํธ. ํ ํ ์คํฐ๋ ์ผ๋ฐ์ ์ผ๋ก ๊ทธ ์ค 12๊ฐ์์ ์์ ํฉ๋๋ค. ์ ์ํด
๊ท์น์ ๋ฐ๋ผ ํ๋ก์ ํธ์ ๋ชจ๋ ํ ์คํธ ์ฝ๋๋ tests๋ผ๋ ๋๋ ํ ๋ฆฌ์ ์์ต๋๋ค.
์ด๊ฒ์ ๊ฐ ํ ์คํฐ๊ฐ ์ด์ ๋ชจ๋ ๊ฐ์ ํ๊ฒฝ์ ๊ฐ์ง๊ณ ์์์ ์๋ฏธํฉ๋๋ค.
~/.local/share/virtualenvs/tests-hKjFddnZ -
์์ฒญ๋! ๊ฐ์ ํ๊ฒฝ์ ์ ํํ๋ ๊ฒ์ ์๋ ๊ฒ์ ์ธ๊ฐ์ ๋ณธ์ฑ์ด๋ฏ๋ก,
๋ฉฐ์น ๋ง๋ค ๋ค๋ฅธ ์ํฌ์คํ ์ด์ ์ผ๋ก ์ ํ๋ฅผ ๋ฐ์ต๋๋ค.
ํด๋น ์ํฌ์คํ ์ด์ ์์ ํ์ํ ํจํค์ง๋ฅผ ์ค์นํ๋ค๊ณ ์๊ฐํ๋ฉด
pipenv install์ ์คํํ์ง๋ง ์ฝ๋์ ๊ฐ์ ธ์ค๊ธฐ๊ฐ ์๋ํ์ง ์์ต๋๋ค. ๋ฟ๋ง ์๋๋ผ
๊ณ ์ ๊ฐ์ ํ๊ฒฝ์ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ถ์ ๋์ง๋ง ๋ชจ๋
๊ทธ๋ค ์ค ์ค๋ช ํ๊ธฐ ์ด๋ ค์ด ์ด๋ฆ์ด ์์ต๋๋ค. ์ญ์ ํ๋์ง ์ฌ๋ถ๋ฅผ ์ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
์ฌ์ฉํ์ง ์๋ ํ๊ฒฝ ๋๋ ์ค์ ๋ก ์ฌ์ฉ๋ ํ๊ฒฝ. ์ด๊ฒ
CI์์ ์๋ฐฑ ๊ฐ๋ ์๋๋๋ผ๋ ์์ญ ๊ฐ์ ๊ฐ์ ํ๊ฒฝ์ ์์ฑํ๋ค๋ ์๋ฏธ์ ๋๋ค.
์ผ์ผ. ์๋ฌด๋ ์๋ ํ๊ฒฝ์ ์ถ์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ ์์ต๋๋ค.
๋ณธ์ง์ ์ผ๋ก ์์์ ์ด๋ฆ์ด ์๊ณ ๋๋ฌด ๋ง์ ์ด๋ฆ์ด ์์ผ๋ฏ๋ก
์ ์ด๋ ํ๋ฃจ์ ํ ๋ฒ์ ๋ชจ๋ ์ญ์ ํ์ญ์์ค. ์ฐ๋ฆฌ๋ ๋๊ธฐ ์๊ฐ์ ๋ง๋ํ ๋น์ฉ์ ์ง๋ถํฉ๋๋ค.
pipenv์ ๋๊ตฐ๊ฐ๊ฐ ๋ด๋ฆฐ ์ด ๋งค์ฐ ํ๋ช ํ ๊ฒฐ์ ๋๋ถ์
๊ทธ๊ฒ์ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ ์ฐ๋ฆฌ ํ์ฌ๋ ...โ
์ด ์ค๋ ๋์ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๊ณ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/pypa/pipenv/issues/796#issuecomment-374211264 ๋๋ ์์๊ฑฐ
์ค๋ ๋
https://github.com/notifications/unsubscribe-auth/ABhjqyABdDHCB8WMm-hJwdkNptVlh8fuks5tf7KBgaJpZM4Pp3kf
.
@jtratner ๊ทธ๋ ๋ค๋ฉด ๊ฐ์ ํ๊ฒฝ์ ์์ผ๋ก ๋ง๋ค๋ ค๋ฉด ์ pipenv
ํ์ํฉ๋๊น?
๊ฐ์ ํ๊ฒฝ์ ๊ทธ ์์ฒด๋ก ์์ ์ ๋๋ค. ๋ชจ๋ ๊ณณ์์ ์ ๋ฆ๋ฐ์ด์ด๋ฉฐ Windows์์๋ ์์๋์์ต๋๋ค(MS Windows์์๋ ๋ชจ๋ ์์น์์ ๊ธฐ๋ณธ ํ ๋๋ ํ ๋ฆฌ๋ฅผ "~"๋ผ๊ณ ํจ). ๋๊ตฐ๊ฐ๊ฐ PIP์ ๊ฐ์ ํ๊ฒฝ์ ๋ค์ ์คํํ๋ค๋ฉด ์ ์์์ ๋ช ๋ฐฑํ ์ค๋ฅ๋ฅผ ์์ ํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋์ต๋๋ค... ๋์ ์ด ํผ๋์ ๋นํธํ์ฑ ๋ ์ด์ด๊ฐ ๊ณฑํด์ก์ต๋๋ค.
์๋ชป๋ ๊ฐ์ ์ ํ๊ณ ์์ต๋๋ค. Pipenv๋ virtualenv ๋๋ pip๋ฅผ ๋ค์ ์คํํ์ง ์์ต๋๋ค. ๊ทธ๊ฒ์ ๊ทธ๊ฒ๋ค์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
@uranusjr ๋
ํด๋ ฅ ๋ฌธ์ ์
๋๋ค. ๋ด๊ฐ ์ํ๋ ๊ฒ๋ณด๋ค ์ฝ๋๋ฅผ ๋๋ฒ๊น
ํ๋ ๋ฐ ํจ์ฌ ๋ ๋ง์ ์๊ฐ์ ์๋นํ๊ธฐ ๋๋ฌธ์ pipenv
๊ฐ ๋ฌด์์ ํ๋์ง ์ ์๊ณ ์์ต๋๋ค. ๊ฐ์ ํ๊ฒฝ๊ณผ PIP๋ฅผ ๋ค์ ์คํํ๋ ๊ฒ์ ํ๋ก์ ํธ์ ๋ช
์๋ ๋ชฉํ์
๋๋ค. ๊ทธ๊ฒ์ ์์ ํ๋ ๋์ "์๋ ๊ทธ๋๋ก" ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ ๊ฒ์ pipenv
๋ ๋ค๋ฅธ ํฐ ์ค์์ด๋ฉฐ click
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ณ ๋ชฉ๋ก์ ๊ณ์๋ฉ๋๋ค.
๊ฐ์ ํ๊ฒฝ๊ณผ PIP๋ฅผ ๋ค์ ์คํํ๋ ๊ฒ์ ํ๋ก์ ํธ์ ๋ช ์๋ ๋ชฉํ์ ๋๋ค.
๋๊ฐ ์ด๊ฒ์ ์ด๋์์ ์ง์ ํ์ต๋๊น?
๋๋ ๋ํ์ด ๋์์ด ์ด์ํ๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค. pipenv
๊ฐ virtualenv ๋๋ ํ ๋ฆฌ์ ํ์ค ์ด๋ฆ์ ์ ํํ๊ณ npm
๊ฐ node_modules
์ฌ์ฉํ๋ ๋ฐฉ์๊ณผ ์ ์ฌํ ํ์ฌ ๋๋ ํ ๋ฆฌ์ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ฃ์ ๊ฒ์ผ๋ก ์์ํ์ต๋๋ค.
@ํ๋ฆผ export PIPENV_VENV_IN_PROJECT=1
. ๋ฌธ์๋ฅผ ์ฝ์ผ์ญ์์ค.
@uranusjr ๋๋ https://docs.pipenv.org ๋ฐ https://docs.pipenv.org/basics/ ๋ฅผ ๋ชจ๋ ์ฝ์๊ณ , ๋ด๊ฐ ๋์น ๊ฒฝ์ฐ๊ฐ ์๋๋ฉด virtualenv
๋๋ ํ ๋ฆฌ๊ฐ ์ค์น๋ ์์น๋ฅผ ์ธ๊ธํ์ง ์์ต๋๋ค. ๋ํ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ์ ์ด๋ฆ์ ๋ฐ๊พธ๊ฑฐ๋ ์ด๋ํ๋ฉด virtualenv
๋๋ ํ ๋ฆฌ๋ฅผ ๋ค์ ์์ฑํด์ผ ํ๋ค๊ณ ๊ฒฝ๊ณ ํ์ง ์์ต๋๋ค.
PIPENV_VENV_IN_PROJECT
๋ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํฌํจ๋ venv
์ฌ์ฉํ์ง ์๊ณ ๋ค๋ฅธ ํ๋ก์ ํธ์ธ virtualenv
์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ pipenv
๋ผ๋ ์ด๋ฆ์ด ํผ๋๋๊ธฐ ์ฝ์ต๋๋ค.
์ ๋ ์ด ํ๋ก์ ํธ์ ์ต์ํด์ง๋ฉด์ ์ ๊ฐ ๋์ด์ง ๊ฒ๋ค์ ๋ํ ํผ๋๋ฐฑ์ ์ ๊ณตํ๋ ค๊ณ ํฉ๋๋ค.
@Flimm ์์ ์ ์ด ์ ๋ณด๋ฅผ ์ถ์ํํ๋ ๊ฒ์ ๋๋ค. virtualenvs๋ฅผ ๊ด๋ฆฌํ๋ ๋ค๋ฅธ ๋๊ตฌ๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ์๊ณ ์๋ค๋ฉด virtualenvs์ ํด๋๋ฅผ ์ด๋ํ๋ฉด ์ฐพ์ ์ ์๋ค๋ ๊ฒ์ ์ด๋ฏธ ์๊ณ ์์ด์ผ ํฉ๋๋ค. ์ต์ํ์ง ์์ ๊ฒฝ์ฐ ์ฒ์๋ถํฐ ์ด๊ฒ์ ํํค์น์ง ์์ ๊ฒ์ ๋๋ค.
์ฐ๋ฆฌ๊ฐ virtualenvs๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉํ๋ ๋ฐฑ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ๊ฒฝ ๋ณ์์ ์ด๋ฆ ์ง์ ์ ์ ์๊ฐ ๊ทธ๋ค์ง ์ค์ํ์ง ์๊ณ ํ์๊ฐ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์๊ธฐ์ ๋๋ค. ์ธ๋ถ ์ฌํญ์ด ์ค์ํ์ง๋ง ์ด๊ฒ์ ๋๊ตฌ์๊ฒ๋ ๋ฌธ์ ๋ฅผ ์ผ์ผํค์ง ์๋ ๊ฒ ๊ฐ์ผ๋ฉฐ, ๊ทํ์ ์ฃผ๋ ๋ฐ๋๋ ์ฐ๋ฆฌ๊ฐ ํ์ด์ฌ ์คํ ํ์ผ์ ํด๋์ ๋ฃ๋ ๋ฐ ์ฌ์ฉํ๋ ๋ฐฑ์๋๋ฅผ ํ์ ํ์ง ๋ชปํ๋ ๊ฒ์ ๊ทผ๊ฑฐํ ๊ฒ ๊ฐ์ต๋๋ค. ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ๋ฉด ๋ณด๊ณ ํด ์ฃผ์ญ์์ค. ์ฐ๋ฆฌ๋ ํ๊ฒฝ ๋ณ์๋ฅผ ๋ณ๊ฒฝํ์ง ์์ ๊ฒ์ ๋๋ค _๋จ์ง ์๋ํ๋ฉด_.
ํ๊ฒฝ ๋ณ์๋ ๋ค์ ๋ฌธ์์์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค. http://pipenv.readthedocs.io/en/latest/advanced/#configuration -with-environment-variables ๊ทธ๊ฒ
@techalchemy ๋ค๋ฅธ ๋๊ตฌ๋ก๋ virtualenvwrapper
์ ๊ฐ์ ๊ฒ์ ์๋ฏธํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋๋ virtualenvwrapper
๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ช ๋
๋์ ๊ฐ๋ค. Node/NPM์ node_modules
ํจํด์ ์ต์ํ Python ๊ฐ๋ฐ์์ ์๊ฐ virtualenvwrapper
๋๋ pipenv
์ต์ํ Python ๊ฐ๋ฐ์์ ์๋ณด๋ค ๋ง์ ๊ฒ์ด๋ผ๊ณ ์ถ์ธกํฉ๋๋ค.
๋ค๋ฅธ ๋ฌธ์ #1919์์ PIPENV_VENV_IN_PROJECT
์ ์ด๋ฆ ์ง์ ์์ virtualenv
๋์ venv
์ ๋ํ ํผ๋์ ์ฃผ๋ ์ฐธ์กฐ์ ๋ํด ์ธ๊ธํ์ต๋๋ค. ๋งํ์๋ฉด, ๋๋ ๋น์ ์ด ๋ด๊ฐ ์๊ฐํ๋ ์์น๋ฅผ ์์ ํ ์ ์งํ์ง ๋ชปํฉ๋๋ค.
์ด์จ๋ ์๋ ๋ฌธ์ ์ ์ง๋ฌธ์ ๋ํ ๋ต๋ณ์ด ์ ๊ณต๋ฉ๋๋ค. ๋๋ ์ด ํ ๋ก ์ ์ฐ์ฅํ๊ณ ์ถ์ง ์์ต๋๋ค. ์ํ์๋ฉด ๋ง์ง๋ง์ผ๋ก ๋ง์ํด ์ฃผ์ญ์์ค.
๋๋์ด ์๋ชป๋ ๊ด๊ฐ ์ดํดํ์ง๋ง์ด ํ ๋ก ์ด ์งํ๋๊ธฐ ๋๋ฌธ์ ... ์, ๋๋ ์๊ฐํ์ง ์๋๋ค node_modules
์ ๋ํํ๋ค ์๊ฐ pipenv
, ๊ทธ๋ฆฌ๊ณ ์ ๋ํ virtualenv
. ๋ด ์ถ์ธก์ ์ญ์ฌ์ ์ผ๋ก ์ฌ๋ฐ๋ฅด์ง ์์ ์ ์์ง๋ง rbenv
์ virtualenv
์ ํจ๊ป ์์
ํด์ผ ํ๋ ๊ฒฝ์ฐ virtualenv
๊ฐ ์ดํด๊ฐ ์๋ ๋์ ์ฌ๋ณธ์ฒ๋ผ ๋๊ปด์ง๋ค๊ณ ๋งํ ์ ์์ต๋๋ค. rbenv
์ ์ํด ๊ฐ์ ๋ ์ด๊ธฐ ํ๋กํ ํ์
์ผ ์๋ ์์ต๋๋ค. ๋ ๊ฒฝ์ฐ ๋ชจ๋ rbenv
๋นํด virtualenv
๋ ์์๊ฑฐ๋ฆฌ์ด๋ฉฐ ๊ทธ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ฐ ํ๊ฒฝ์ ๋ํ ํจํค์ง๋ฅผ ๋ณต์ฌํฉ๋๋ค. ์ด๊ฒ์ ์ด๋ฆฌ์๊ณ ๋๋ฆฌ๊ณ ํผ๋์ค๋ฝ์ต๋๋ค. ๊ทธ๊ฒ์ ๋จ์ง ์๋ชป๋ ๋์์ธ ๊ฒฐ์ ์ผ ๋ฟ์ด์ง๋ง ๊ฒฐ์ ๋ถ์กฑ์ผ ๊ฐ๋ฅ์ฑ์ด ๋ ํฝ๋๋ค. ๋๊ตฐ๊ฐ๊ฐ ์ด๋ฌํ ํจํค์ง๋ฅผ ์์์ ๋๋ ํ ๋ฆฌ์ ๋ฃ๋ ์ผ๋ถ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ ๊ทธ๋ ๊ฒ ๋์์ต๋๋ค. ๊ฒ๋ค๊ฐ Windows์์๋ ์ค์ ๋ก ์๋ํ์ง ์์ต๋๋ค. Windows์์ ์ค์ ๋ก ํ
์คํธ๋ ์ ์ด ์๋ค๋ ์ ์์... ์ด๊ฒ์ ๋ํด ์๊ธฐ๋ ์ ์ค ํ๋๋ OS๋ฅผ ํ
์คํธํ๊ณ Windows์์ ์คํ๋๋ ๊ฒ์ ๋ฐ๊ฒฌํ๋ฉด ํ ๋๋ ํ ๋ฆฌ๋ฅผ ~
์ค์ ํ๋ค๋ ๊ฒ์
๋๋ค. ์ด ๊ธฐ๋ณธ๊ฐ์ ๋์ค์ ์ผ๋ถ ํ๊ฒฝ ๋ณ์์ ์ํด ์ฌ์ ์๋ ์ ์์ง๋ง ์ค์ ๋ก ๊ฐ๋
๋๊ณ ๊นจ๋ํ ํ๊ฒฝ์์ ์๋ํ๋ฅผ ์คํํ๋ ค๋ ๊ฒฝ์ฐ... virtualenv
๋ ๋จ์ํ ๋์ผํ ๋๋ ํ ๋ฆฌ์ ํจํค์ง๋ฅผ ์ค์นํ์ง ์์ต๋๋ค.
๊ทธ๋์... pipenv
๋ requests
์ ๊ฐ์ ์ธ๊ฐ์ ์ํ ๋๊ตฌ๋ผ๊ณ ์ฃผ์ฅํฉ๋๋ค ... ์ ์๊ฐ์๋? ๊ทธ๋์ ์ ๋ฐฐ๋๋ค์ ๋ฏธ์ํ ๋
ธ๋ ฅ์ ์ข ๋ ๋ณด์ํด์ผ ํ ๋ฏ... ๊ธ์์.. ์ ์๋ค๊ณผ ๋๊ฐ์ ๊ธฐ๋ฅ์ ํ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ณ ์ถ๋ค๋ฉด ๊ทธ๋ ๊ฒ ํ๋๊ฒ ๋ง๋๊ฑฐ ๊ฐ์ต๋๋ค. ? ๊ทธ๋๋ virtualenv
์ ์ฐ๋ ๊ธฐ๋ฅผ ๋ฒ๋ฆฌ์ง ์๊ณ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค. ๋ํผ๋ ๋ํ๋ ํ๋ก๊ทธ๋จ์ ์ผ๋ถ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๊ฒ์ ํ์ฉํ์ง ์๊ฑฐ๋ ๋ ์ด๋ ต๊ฒ ๋ง๋ ๋ค๋ ์ ์์ ๋ํ๋ ํ๋ก๊ทธ๋จ๊ณผ ๋ค๋ฆ
๋๋ค...
๋ด ์ธ์์์ ์๋ํ๋ฅผ ์๋ํ๋ ๋ง์ ์๋๋ฅผ ๋ณด์์ง๋ง ์ง์ฆ์ด ๋ฌ์ต๋๋ค. ํ์ง๋ง ์ฌ๋ฌ๋ถ์ ๋ณ์ ๋ ธ๋ฆฌ๊ณ ์์ต๋๋ค. ์ ์ฉํ ์ ๋ณด๋ฅผ ์ ๋ ฅํ๊ธฐ๋ ์ ์ ์ฌ์ดํธ์ ๊ณผ๋ถํ ํ๊ฐ๋ฅผ ๋ชจ๋ ์ฌ๋ ค ๋์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋น์ ์ ์ฝ์์ ์งํค์ง ์์ต๋๋ค. ์ค์ ๋ก๋ ์ค์ ์์ ์ ์ํํ์ง ์๊ณ ๋จ์ํ ์ฌ๋ก ์ ์กฐ์ํฉ๋๋ค. ์ด์ ์๋ํ๋ฅผ ์ํํด์ผ ํ๋ ํ๋ก๊ทธ๋๋จธ๋ GitHub์์ ๋ ๋ง์ "์ข์์"๋ฅผ ๋ฐ๊ธฐ๋ฅผ ์ํ๊ธฐ ๋๋ฌธ์ ๋ ๋ค๋ฅธ ์ ์ ์ง๋ฉดํด์ผ ํฉ๋๋ค...
@wvxvw ์ค์ ๋ก ๋น์ ์ ํ 5๋
(4๋
, ์๋ ์ฐธ์กฐ) ์ ๋ ์์๋ฏ๋ก ์๊ฐ์ ๋ฐ์ ์ ์์ต๋๋ค. ๋ํ ๊ทธ๊ฒ๋ค์ ๊ทผ๋ณธ์ ์ผ๋ก ๋ค๋ฅธ ๊ฒ๋ค์ด๋ฉฐ, ๊ฒฐ๊ตญ ๋น์ทํ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ ๋ฟ์
๋๋ค. ๋น์ ์ด ์ฐพ๊ณ ์๋ ๊ฒ(rbenv์์ ์๊ฐ์ ๋ฐ์ ๋ฐํ์ ๊ด๋ฆฌ ๋๊ตฌ)์ pyenv์
๋๋ค.
๋ํ virtualenv๊ฐ ๋ค๋ฅธ ๋๊ตฌ์ ๋๋ฑํ์ง ์์ ๊ฒ๊ณผ ๊ด๋ จํ์ฌ ์ญ(10)๋ ๋์ ์ฌ์ฉ๋์๋ค๋ ์ฌ์ค์ ์๊ณ ๊ณ์ญ๋๊น? ์ํํธ์จ์ด ๊ฐ๋ฐ ์๊ตฌ ์ฌํญ์ ๋ง์ด ๋ณํ๊ณ , ๊ทธ ๊ฐ์ ์ ์ ์ฐจ ๊ตฌ์์ด ๋์๊ณ ์๋ฌด๋ ๊ทธ๊ฒ์ ๋์ฒดํ๋ ค๊ณ ๋์์ง ์์์ต๋๋ค. ํ ๋จ๊ณ ๋ ์ฌ๋ผ๊ฐ ๋งํผ ์ ๊ฒฝ์ ์ฐ๊ณ ์์ต๋๊น?
๋๋ ๋ชจ๋ ์ฌ๋์ด ๋งํ ๊ธฐํ๋ฅผ ๊ฐ์ง ์๊ฒฉ์ด ์๋ค๋ ๊ฒ์ ์ดํดํ์ง๋ง, ์ฃผ์ ์ ๋ํ ์ต์ํ์ ์ดํด ์์ด ํ ๋ก ์ ์ฐธ์ฌํ๊ณ ๊ณง๋ฐ๋ก ์๊ฐ๋ฝ์ง์ ์์ํ๋ ๊ฒ์ Pipenv, virtualenv ๋ฐ Python ํจํค์ง ์์คํ ์ ์ฒด์ ๊ธฐ์ฌ์์๊ฒ ์๋นํ ๋ฌด๋กํ ์ผ์ ๋๋ค. ์ด ์์ ์ ์ํํ์ง ๋ง์ญ์์ค.
ํธ์ง : ๋๋ ์ฝ๊ฐ์ ํ๊ธฐ๋ฅผํ์ต๋๋ค. virtualenv์ ์ด๊ธฐ ๋ฆด๋ฆฌ์ค์ธ 0.8์ 2007๋ ์ ๋ง๋ค์ด์ก๊ณ rbenv์(0.1)์ 2011๋ ์ด์์ผ๋ฏ๋ก 5๋ ์ด ์๋๋ผ 4๋ ์ฐจ์ด์ ๋๋ค.
@wvxvw ๋ชจ์์
ํ๋ก์ ํธ ๊ฒฝ๋ก๋ฅผ ๋ณ๊ฒฝํ๊ณ ์๋ virtualenv ๋งคํ์ ์์ ํ์๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ฌ ์ด ์ค๋ ๋๋ฅผ ์ฝ์์ต๋๋ค. ๋จผ์ pipenv ํ์ ๋ ธ๊ณ ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ด ํ ๋ก ์ ๋ํด ๊ณต์ ํ๊ณ ์ถ์ ๋ช ๊ฐ์ง ์๊ฒฌ์ด ์์ต๋๋ค.
๋ฌธ์๋ ์ค์ ๋ก ํ๋ก์ ํธ ๊ฒฝ๋ก์ ํ๊ฒฝ ๊ฐ์ ๋งคํ ๋ฉ์ปค๋์ฆ์ ์ง์ ํด์ผ ํ๋ฉฐ ์ต์ํ changing project path would cause unmapping the original env
์ฌ์ฉ์์๊ฒ ๊ฒฝ๊ณ ํด์ผ ํฉ๋๋ค.
Pipfile์์ ํ๊ฒฝ์ ๋ํ ๊ฒฝ๋ก๋ฅผ ์๋์ผ๋ก ์ค์ ํ ์ ์๋ค๋ฉด ๋ ์ข์๊น์? ์ฌ๋๋ค์ด ๋์ผํ ํ๊ฒฝ์ ์๋์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํ ๋ช ๊ฐ์ง ํน๋ณํ ์๊ตฌ ์ฌํญ์ด ์์ ์ ์์์ ์๋ฏธํฉ๋๋ค.
์ฌ๋ฌ๋ถ๊ณผ ๊ณต์ ํ๊ธฐ ์ํ ์ ์๊ฒฌ์ผ ๋ฟ์ ๋๋ค.
pipenv๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์ ํ ๋ถ๋ถ๋ช ํฉ๋๋ค. ํ๋์ ํ๋ก์ ํธ์ ์ฌ๋ฌ ๊ฐ์ ํ๊ฒฝ์ด ์์ด์ผ ํฉ๋๊น? ํ๋ก์ ํธ ๊ฐ์ ๊ฐ์ ํ๊ฒฝ์ ๊ณต์ ํด์ผ ํฉ๋๊น? python ๋ฒ์ ์ด ํด๋น ํ๋ก์ ํธ์๋ง ํ์ํ ๊ฒฝ์ฐ pipenv๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ํ๋ก์ ํธ์ ๋ํด ๋ค๋ฅธ python ๋ฒ์ ์ ์ด๋ป๊ฒ ์ค์นํฉ๋๊น? ์ด ์ค๋ ๋์์ ๋ชจ๋๋ ๋ค๋ฅธ ์ฌ๋๋ค์ ๋ํด ๋ง์ ๊ฒ์ ๊ฐ์ ํ๊ณ ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ด๋์์ ์๋์ง ์ดํดํ๋ ค๊ณ ๋ ธ๋ ฅํ์ง ์์ต๋๋ค. ํํ์ด์ง์์ pipenv์ ์นญ์ฐฌ์ ์ฝ์ผ๋ฉด์ ๋์์ด ๋ ๊ฒ์ด๋ผ๊ณ ๋ฏฟ์์ต๋๋ค. ๋์ , ๋๋ ๊ทธ๊ฒ๊ณผ ์จ๋ฆํ๋ 5์ผ์ ๋ญ๋นํ๊ณ , ์ง๊ธ์ ๊ทธ๊ฒ์ด ์ ์ด๋ ์ด๋ ์ ๋ ๊ฒฐ์ ์ ์ด๊ธฐ ๋๋ฌธ์ pyenv๋ก ๋์๊ฐ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
ํ๋์ ํ๋ก์ ํธ์ ์ฌ๋ฌ ํ๊ฒฝ์ ์ฌ์ฉํ๋ ค๋ฉด tox๋ฅผ ์ฌ์ฉํ์ญ์์ค. ์ฃผ์ ๊ฐ๋ฐ ํ๊ฒฝ์๋ pipenv๋ฅผ ์ฌ์ฉํ๊ณ ์ฌ๋ฌ Python ๋ฒ์ ์์ ํ ์คํธํ๋ ค๋ฉด tox๋ฅผ ์ฌ์ฉํ์ธ์.
@ashnur ๋น์ ์ ๋ถ๋ช ํ ํ ์ผ์ด ํ์ํฉ๋๋ค. ์์ ๋ด์ฌ์๋ค์ด ์ด์ํ๋ ์คํ ์์ค ํ๋ก์ ํธ์ ๋ถ์ ์ ์ธ ๋ด์ฉ์ ํผ๋จ๋ฆฌ๋ ๋์ ์ ์ฉํ ๊ฒ์ ๊ธฐ์ฌํด ๋ณด๋ ๊ฒ์ ์ด๋ป์ต๋๊น?
@uranusjr
์ด ํด์ ์ผ์ด ์ด๋์
๋๊น?
ํ๋ก์ ํธ๋ฅผ ์งํ ์ค์ด๋ฉฐ ๊ฒฝ๋ก์ ํด์๋ฅผ ๊ณ์ฐํด์ผ ํฉ๋๋ค.
@devxpy ๋ค ,
๋๋ ๋ํฌ๋ค์ด pipenv๋ก virtualenv๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ํํ ๋ฆฌ์ผ์ ๋ฃ์ด์ผ ํ๋ค๊ณ ์๊ฐํ๋ค. ์๋ํ๋ฉด ๊ทธ๊ฒ์ด ์ฌ๋๋ค์๊ฒ ๋ ์ฝ๊ธฐ ๋๋ฌธ์ ๋ ๋ง์ ์ฌ๋๋ค์ด ๊ทธ๊ฒ์ ์ฌ์ฉํ ๊ฒ์ด์ง๋ง ๊ทธ๊ฒ์ด ํผ๋์ ์ผ๊ธฐํ๋ค๋ฉด ๋ ๋ง์ ์ฌ๋๋ค์ด ๊ทธ๊ฒ์ ์ฌ์ฉํ์ง ์์ ์ ์๊ณ ๋ค๋ฅธ ๊ฒ์ ์ฐพ์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๋ ์ธ์ด ๋๋ ๋ฐฉ๋ฒ
@uranusjr Pipenv๊ฐ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ์ ๊ธฐ๋ณธ์ ์ผ๋ก virtualenv๋ฅผ ์์ฑํ์ง ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ๋ด๊ฐ ๋ณด๊ธฐ์๋ ํ๋ก์ ํธ ์ด๋ฆ์ด ๋ณ๊ฒฝ/์ด๋/์ญ์ ๋ ๋ ๊ณ ์ ํ๊ฒฝ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค. ๊ฒ๋ค๊ฐ npm์ฒ๋ผ ์๋ํ๊ธฐ๋ฅผ (๋ค์ ์ ๋นํ๊ฒ) ๊ธฐ๋ํ๋ ์ฌ๋๋ค์๊ฒ๋ ๋ ํผ๋์ค๋ฌ์ธ ๊ฒ์ ๋๋ค.
์๋ง๋ ์ ํต ์ธ์ ์ด ์ ๊ทผ ๋ฐฉ์์ ์ ํธํ๋ ์ด์ ์ด ์์ต๋๊น?
pipenv install ๋ช ๋ น ์ ์ .venv ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. pipenv ์ค์น์ ๋ํ โvenv ๋๋ โdot-venv ์ต์ ์ ์ค์ ๋ก ํ์๋ฐ์ ๊ฒ์ ๋๋ค. :)
2018.10.9๋ถํฐ ์ด ์์
์ ์ํํ๋ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๊ฐ์ ํ๊ฒฝ์ ๋ํ ๊ฒฝ๋ก๊ฐ ํฌํจ๋ .venv
ํ์ผ ์ ์ถ๊ฐํ ์ ์์ต๋๋ค. (๊ตํํ ์๋ก์ด ๊ธฐ๋ฅ!)
@andrewpeterprifer ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ํ๊ณค ํ๊ณ ์ด๋ค ์ฌ๋๋ค์ ๋งค์ฐ ๊ฐํ๊ฒ ๊ฑฐ๋ถํ๊ธฐ ๋๋ฌธ์ ๊ทธ๊ฒ์ ๋ณ๊ฒฝํด์ผ ํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ํ๋์ ์ ๊ทผ ๋ฐฉ์ ๋๋ ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ ์ ํํด์ผ ํ๋ฉฐ, ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ ๋ด๋ถ์ ๊ฐ์ ํ๊ฒฝ์ ๋์ง ์๋ ๊ฒ์ด ๋ ๋์ ๊ธฐ๋ณธ๊ฐ์์ ์ธ์ ํด์ผ ํ์ต๋๋ค.
ps ์ด์ ๋ํ FAQ ํญ๋ชฉ์ ์์ฑํ๋ ๋ฐ ๊ด์ฌ์ด ์์ผ์ ๊ฐ์? ๋ช ๋จ๋ฝ์ด ๊ฑธ๋ฆด ์ ์์ง๋ง ๋๊ตฐ๊ฐ๊ฐ ํ ์คํธ๋ฅผ ๋ค๋ฌ๊ณ PR์ ์ ์ถํ๋ ๋ฐ ์๊ฐ์ ํ ์ ํ๊ฒ ๋ค๊ณ ์ฝ์ํ๋ฉด ๊ธฐ๊บผ์ด ์ค๋ช ํ๊ฒ ์ต๋๋ค.
@uranusjr ์ ๋ ๋์ ๊ธฐ๋ณธ๊ฐ์ธ์ง ๋งค์ฐ ๊ถ๊ธํฉ๋๋ค. ์ ๋ ํ์ด์ฌ์ ๋ํด ์๋์ ์ผ๋ก ๋ฉ์ฒญํ ์ฌ๋์ด๊ณ ์ด์ ๋ชจ๋ฒ ์ฌ๋ก์ ๋ํด ๋ถ๋ช ํ ๊ฒ์ ๋์น๊ณ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. :) ๊ฐ์ฌ ํด์!
์ถ์ .: ์ ๊ทธ๋ฐ ์ผ์ด ์ผ์ด๋๋์ง ์ค๋ช ํ๋ฉด FAQ ํญ๋ชฉ์ ์์ฑํ ์ ์์ต๋๋ค. ;)
2018.10.9๋ถํฐ ์ด ์์ ์ ์ํํ๋ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๊ฐ์ ํ๊ฒฝ์ ๋ํ ๊ฒฝ๋ก๊ฐ ํฌํจ๋
.venv
_file_์ ์ถ๊ฐํ ์ ์์ต๋๋ค. (๊ตํํ ์๋ก์ด ๊ธฐ๋ฅ!)@andrewpeterprifer ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ํ๊ณค ํ๊ณ ์ด๋ค ์ฌ๋๋ค์ ๋งค์ฐ ๊ฐํ๊ฒ ๊ฑฐ๋ถํ๊ธฐ ๋๋ฌธ์ ๊ทธ๊ฒ์ ๋ณ๊ฒฝํด์ผ ํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ํ๋์ ์ ๊ทผ ๋ฐฉ์ ๋๋ ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ ์ ํํด์ผ ํ๋ฉฐ, ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ ๋ด๋ถ์ ๊ฐ์ ํ๊ฒฝ์ ๋์ง ์๋ ๊ฒ์ด ๋ ๋์ ๊ธฐ๋ณธ๊ฐ์์ ์ธ์ ํด์ผ ํ์ต๋๋ค.
ps ์ด์ ๋ํ FAQ ํญ๋ชฉ์ ์์ฑํ๋ ๋ฐ ๊ด์ฌ์ด ์์ผ์ ๊ฐ์? ๋ช ๋จ๋ฝ์ด ๊ฑธ๋ฆด ์ ์์ง๋ง ๋๊ตฐ๊ฐ๊ฐ ํ ์คํธ๋ฅผ ๋ค๋ฌ๊ณ PR์ ์ ์ถํ๋ ๋ฐ ์๊ฐ์ ํ ์ ํ๊ฒ ๋ค๊ณ ์ฝ์ํ๋ฉด ๊ธฐ๊บผ์ด ์ค๋ช ํ๊ฒ ์ต๋๋ค.
์ฃ์กํฉ๋๋ค ... pipenv๋ก ๋ง๋ ๊ฐ์ ํ๊ฒฝ์ด ์๋ ํ๋ก์ ํธ ํด๋๋ฅผ ์ด๋ํด์ผ ํ๋ ๊ฒ๊ณผ ๋๊ฐ์ ํ์๊ฐ ์์ต๋๋ค.
ํ์ฌ ๋ค์์ ์ํํ๊ณ ์์ผ๋ฉฐ ์ ํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๋ชจ๋ ๊ฒ์ด ์ ์ ์๋ํฉ๋๋ค. ์ด๊ฒ์ ๋์ ์ต๊ด์ ๋๊น?
@uranusjr ์ฃผ์๊ณผ ๊ด๋ จํ์ฌ ์ ๊ธฐ๋ฅ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ดํดํ๋ค๋ฉด .venv ํ์ผ(์ํ๋ ๊ฐ์ ํ๊ฒฝ์ ๋ํ ๊ฒฝ๋ก ํฌํจ)์ ํ๋ก์ ํธ ํด๋์ ์ถ๊ฐํด์ผ ํฉ๋๊น? ์ด๋ ๊ฒ ํ๋ฉด ์ด์ ์ ์ธ๊ธํ ๋ชจ๋ ๋จ๊ณ๋ฅผ ์ํํ์ง ์์๋ ๋ฉ๋๊น? ๊ทธ๋ ๋ค๋ฉด ํ๋ฅญํฉ๋๋ค!!
๊ทธ๋ ๋ค๋ฉด ๊ฐ์ ํ๊ฒฝ์ ์ฒ์ ์์ฑํ ๋ ํ๋ก์ ํธ ํด๋์ ์๋์ผ๋ก ๊ทธ๋ฐ ํ์ผ์ด ์์ฑ๋๋ค๋ฉด ๋ ์ข์ง ์์๊น์?
์ถ์ : ๋ํ FAQ๋ฅผ ์์ฑํ ์ํฅ์ด ์์ต๋๋ค.
์ฌ์ค, @gioxc88 ์ ์์ด๋์ด๊ฐ ์ข์ ๊ฒ ๊ฐ์์. ์๋ก ์์ฑ๋ virtualenv๋ ํ๋ก์ ํธ ๋ฃจํธ ์๋์ .env
ํ์ผ์ ์๋์ผ๋ก ์์ฑํ ์ ์๊ณ PATH
์ ๊ฐ์ ํ๊ฒฝ ์ค์ ์ ํฌํจํฉ๋๋ค. ๊ฐ๋ฐ์์๊ฒ ํ๊ฒฝ์ ๋ณด๋ค ํฌ๋ช
ํ๊ฒ ๋ง๋ค๊ณ ์ฌ๊ตฌ์ฑํ๋ ๋ ํธ๋ฆฌํ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค.
์ง๋ฌธ์ ํจ๊ป ๋ต๋ณํด ๋๋ฆฌ๊ฒ ์ต๋๋ค. ์ ๊ทผ ๋ฐฉ์์ ๋์์ง ์์ต๋๋ค(IMO, ์ ๋ ๊ฐ์ ์ค์ ์ ์ฌ์ฉํฉ๋๋ค). ๊ทธ๋ฌ๋ ๋ชจ๋ฅด๋ ์ฌ์ฉ์๊ฐ ๊ฑธ๋ ค ๋์ด์ง๊ธฐ ์ฝ์ต๋๋ค.
๊ทธ๊ฒ์ ์๊ฐํ๋ ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ ํ๋ก์ ํธ๋ฅผ ๋ฒ์ ์ ์ด(์: Git)์ ๋ฃ๋ ๊ฒ์ ๊ณ ๋ คํ๋ ๊ฒ์
๋๋ค. ํ๊ฒฝ์ด ํ๋ก์ ํธ ๋ฃจํธ์ ์์ฑ๋๋ฉด ๋น์ฐํ ์ ์ฅ์ ๋ฃจํธ์ ์์ ๊ฒ์
๋๋ค. ์ด ์ค์ ์ ์ต์ํ ๋์ ๋ ๊ฐ์ ์ฌ๋๋ค์ .venv
๋๋ ํ ๋ฆฌ๊ฐ ์ฒดํฌ์ธ๋์ง ์๋๋ก .gitignore
(๋๋ ์ ์ญ ๋ฌด์ ๊ตฌ์ฑ)์ ๊ท์น์ ์ถ๊ฐํด์ผ ํ๋ค๋ ๊ฒ์ ๋ถ๋ช
ํ ์๊ณ ์์ง๋ง ์์งํ ์ฌ์ฉ์๋ ๊ทธ๋ ์ง ์์ผ๋ฉฐ ์ฐ์ฐํ ํ๊ฒฝ์ ๋งค์ฐ ์ฝ๊ฒ ํ์ธํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ํ๋ก์ ํธ ๊ด๋ฆฌ์ ๋์ ๋ฟ๋ง ์๋๋ผ (๋ ์ค์ํ๊ฒ) ๋ก์ปฌ ์ ๋ณด๋ฅผ ๋
ธ์ถํ์ฌ ์ ์ฌ์ ์ธ ๊ณต๊ฒฉ์ ๋ํ ๋ฒกํฐ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ฐ๋ผ์ ์์ฑ๋ ํ์ผ์ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ์ ๋ฃ์ง ์๋ ๊ฒ์ด ํ๋ก์ ํธ ๊ด๋ฆฌ ๋๊ตฌ์ ์ผ๋ฐ์ ์ธ ๊ท์น์
๋๋ค. ์ํ๊ณ๋ฅผ ์ฒ์๋ถํฐ ์ค๊ณํ๋ ๊ฒฝ์ฐ(์: NPM์ node_modules
) ์ด๋ฅผ ์ํํ๋ ๊ฒ์ด ๊ด์ฐฎ์ ์ ์์ง๋ง(์: NPM์
๊ธฐ๋ณธ์ ์ผ๋ก ํ๊ฒฝ์ด ํ๋ก์ ํธ ๋ฃจํธ ์ธ๋ถ์์ ์์ฑ๋๋ ๊ฒฝ์ฐ ํ๋ก์ ํธ๋ฅผ ๊ฒ์ํ ๋(์: GitHub์ ํธ์) ๊ฑฑ์ ํ ๊ฐ๋ฅ์ฑ์ด ํ ๊ฐ์ง ์ค์ด๋ญ๋๋ค. ๊ทธ๊ฒ์ (ํ๋ก์ ํธ ๋ด ํ๊ฒฝ์ ์ ํธํ๋) ์ฐ๋ฆฌ์ ์ถ์ ์กฐ๊ธ ๋ ์ด๋ ต๊ฒ ๋ง๋ค์ง๋ง ์ํ ๊ด์ ์์ ์ผ์ด๋ ์ ์๋ ์ต์ ์ ์ํฉ์ ์ค์๋ก ํ๋ก์ ํธ๋ฅผ ์ด๋ํ๊ณ ํ๊ฒฝ์ ๊นจ๋จ๋ฆฌ๊ฑฐ๋ ํ๋ก์ ํธ๊ฐ ์ ๊ฑฐ๋ ๋ ํ๊ฒฝ์ ์ ๊ฑฐํ๋ ๊ฒ์ ์๋ ๊ฒ์ ๋๋ค. . ์ด๋ ์ชฝ์ด๋ ์ค์๋ก ์ ์ฌ์ ์ผ๋ก ๋ฏผ๊ฐํ ํ๊ฒฝ ์ ๋ณด๋ฅผ GitHub์ ํธ์ํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋ ์ฝ๊ฒ ๋ณต๊ตฌํ ์ ์์ต๋๋ค.
.venv
ํ์ผ ๊ธฐ๋ฅ์ ์ฌ์ ํ โโ์๋ก์ด ๊ธฐ๋ฅ์ด๋ฉฐ(์ผ ์ ์ ์ถ์๋จ), ์ฐ๋ฆฌ๋ ์ฌ์ ํ ์ด๋ฅผ ๊ฐ์ฅ ์ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ชจ์ํ๊ณ ์์ต๋๋ค. ์ฌ์ ํ .venv
๋๋ ํ ๋ฆฌ์ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ง๋ง ๊ทธ๋ ๊ฒ ๋์์ง๋ ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ ์์ฒด๊ฐ ์ ๋ง ๋ง์์ ๋ญ๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ ํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ํ์ง๋ง ์ฌ๊ธฐ์์ ๊ณ ๋ คํด์ผ ํ ์ฌํญ์ด ์ฌ์ ํ ๋ง์ต๋๋ค.
์๋ . ์ ์๊ฒ .venv ๋๋ ํ ๋ฆฌ(์ด์ ๊ธฐ๋ฅ)์ .venv ํ์ผ(์ ๊ธฐ๋ฅ)์ ๊ด์ฐฎ์ง๋ง pipenv install ๋ช ๋ น์ ์ต์ ์ด ์์ผ๋ฉด ๋งค์ฐ ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ ๊ฒ:
pipenv install
~/.local/
pipenv install --venv
$PWD/.venv
๋๋ ํ ๋ฆฌ์ ์ค์นํฉ๋๋ค.
pipenv install --venv-dir /my/custom-path
/my/custom-path
์ค์น๋ฉ๋๋ค.
์๋ก์ด ๊ธฐ๋ฅ์ ์ํ์๋ฉด ~/.peeps
๊ฐ์ ์ ์์ ํ์ฌ ์ ์ ํ๊ฒ ์ ์ํด ์ฃผ์ธ์. ๋ค์ํ ๋ฌธ์ ์ ๋ฌด์์๋ก ํฉ์ด์ ธ ์๋ ๊ฐ์ ์ ์์ ํ์ง ๋ง์ญ์์ค. ์ถ์ ํ ์ ์์ต๋๋ค.
@uranusjr ์์ธํ ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค! ๋ด ํธ๊ธฐ์ฌ์ ์ถฉ์กฑ์ํค๊ธฐ ์ํด ์ด๋ค ์ข ๋ฅ์ ๋ก์ปฌ(์ ์ฌ์ ์ผ๋ก ๋ฏผ๊ฐํ) ์ ๋ณด๊ฐ ์ฒดํฌ์ธ๋ python venv์ ์ํด ๋ ธ์ถ๋ ์ ์์ต๋๊น? node_modules๊ฐ ์ฒดํฌ์ธ๋๋ฉด ์ฑ๊ฐ์ ์ผ์ด๋ผ๋ ๋ฐ ๋์ํ์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ์ฌ๊ธฐ์๋ ๋ก์ปฌ ์ ๋ณด๊ฐ ํฌํจ๋์ง ์์ต๋๋ค.
Python ๊ฐ์ ํ๊ฒฝ์๋ ์ฌ๋ฌ ์
ธ ์คํฌ๋ฆฝํธ(์: activate
)๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ๋ง์ ์ฌ๋๋ค์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํธ, ๋ค๋ฅธ ๊ตฌ์ฑ ํ์ผ ๊ฒฝ๋ก ๋ฑ์ ์ง์ ํ๊ธฐ ์ํด ํ๊ฒฝ ๋ณ์๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํด ์คํฌ๋ฆฝํธ๋ฅผ ์์ ํฉ๋๋ค. ๊ฐ์ ํ๊ฒฝ์์ ์คํฌ๋ฆฝํธ๋ฅผ ์์ ํ๋ ๊ฒ์ ๋ชจ๋ฒ ์ฌ๋ก์ ์๋ฐฐ๋์ง๋ง ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ฌ๋๋ค์ ์ด ์์
์ ์ํํฉ๋๋ค. - ๊ฐ์ธ์ ์ธ ๊ฒฝํ).
๋ํ node_modules
๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ง ์์ ์ ์์ต๋๋ค. ์ํ๊ณ๋ฅผ ์ฒ์๋ถํฐ ๊ตฌ์ถํ ๋์ ๋ ๋ค๋ฅธ ์ด์ ์
๋๋ค. Python ๊ฐ์ ํ๊ฒฝ์ ๋ถํํ๋ ์ด๊ฒ์ด ์ผ๋ฐ์ ์ธ ๋ฌธ์ ๊ฐ ๋๊ธฐ ์ ์ ๋ฐ๋ช
๋ ๋ฐฉ์์
๋๋ค(๋น์์๋ VCS๋ฅผ ์ ํ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ ์ด๋ฏธ ์ ๋ฌธ๊ฐ์์ต๋๋ค).
pipenv๊ฐ ์ฌ๋ฐ๋ฅธ virtualenv๋ฅผ ์ด๋ป๊ฒ ์๊ณ ์๋์ง ์ดํดํ๋ ค๊ณ ํ๋ ๋์ ์ฌ๊ธฐ์ ๋์ฐฉํ์ต๋๋ค. :)
ํ ๋ก ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์๋ง๋ ๋ฉ์ธ ํ์ด์ง(์: ์ฌ๊ธฐ )์์ ํ๋ก์ ํธ ๊ฒฝ๋ก์ ์ด๋ฆ์ ๋ฐ๊พธ๋ฉด virtualenv ๋ฐ์ธ๋ฉ์ ๊ธฐ๋ณธ ๋ฉ์ปค๋์ฆ์ด ์ค๋จ๋๋๋ก ์ง์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ชจ๋ ๋ฌธ์ ํ์ด์ง๋ ๊ธฐ์ฌ๋ฅผ ์ํด ์ด๋ ค ์์ต๋๋ค. ๋ถํํ์ง ๋ง๊ณ ํ์ธ์ :)
๊ทธ๋ด ๊ฒ์!
@uranusjr ์ด๊ฒ์ ๋๋ ํ ๋ฆฌ์ ์ด๋ฆ์ ๋ฐ๊พธ๋ฉด ๋ด ํ๋ก์ ํธ์ virtualenv๊ฐ ์์ค๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๊ทธ ๋์. ๋๋ ํ ๋ฆฌ์ ์ด๋ฆ์ ๋ฐ๊พธ๋ ๊ฒ์ ์ผ๋ฐ์ ์ธ ์ฌ์ฉ ์ฌ๋ก์ผ ์ ์์ผ๋ฉฐ ์ฌ์ฉ์๋ ์ด์ ๋น ์ง๊ณ ํ๊ฒฝ์ด ์ด๋ป๊ฒ ์๋์ ๋ฉ์ท๋์ง ๊ถ๊ธํดํ ์ ์์ต๋๋ค.
๊ฐ๋ฅํ ๊ฒฝ์ฐ ์์ ํ๊ณ Pipfile์ ํญ๋ชฉ์ ๋ง๋๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋๋ ๋ค๋ฅธ .pipenv ํ์ผ์ ๋ง๋ค์ด ๊ฐ ํ๋ก์ ํธ ๋๋ ํฐ๋ฆฌ์ ์ด๋ฌํ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค.
๋น์ ์ ๋ฌด์์ ์ ์ํฉ๋๊น?
๋ ์ง๋ฌธ์ ๋ชจ๋ ๋ตํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
๋ ๊ฐ์ง ๋ชจ๋ ์ง๋ฌธํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋๋ ๋ํ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค,
์๋ชป๋ ๋๋ ํ ๋ฆฌ์์ pipenv๋ฅผ ์ด๊ธฐํํ๊ณ ์ฌ๋ฐ๋ฅธ ๋๋ ํ ๋ฆฌ์์ virtualenv ๋๋ ํ ๋ฆฌ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ pipenv --venv
๋ฅผ ์ํํ์ฌ virtualenv ๊ฒฝ๋ก๋ฅผ ์ป์ ์ ์๊ณ PIpfile
๋ฐ Pipfile.lock
์ด๋ํ ์ ์์ต๋๋ค. ์ฌ๋ฐ๋ฅธ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํฉ๋๋ค.
echo ${PATH_OBTAINED_FROM_PREVIOUS_COMMAND} > .venv
๊ฐ ์ฌ๋ฐ๋ฅธ ๋๋ ํ ๋ฆฌ์ ์๊ณ ์ ๋๋ก ์๋ํด์ผ ํฉ๋๋ค.
์ค๋ ๋๋ ์์ ๋๋ ํ ๋ฆฌ์ pipfile์ด ์์ผ๋ฉด pipenv๊ฐ export PIPENV_VENV_IN_PROJECT=1
ํ๊ฒฝ ๋ณ์๋ฅผ ๋ฌด์ํ๊ณ ๋์ ์์ ๋๋ ํ ๋ฆฌ์ venv๋ฅผ ์ค์นํ๋ค๋ ์ฌ์ค์ ์๊ฒ ๋์์ต๋๋ค. 2018.11.26
๋ฆด๋ฆฌ์ค์ ์์ต๋๋ค. ์์ ๋๋ ํ ๋ฆฌ์์ pipfile์ ์ ๊ฑฐํ๋ฉด pipenv๋ ๋ฌธ์ํ๋ ๋๋ก ์๋ํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@uranusjr ์ด๊ฒ์ ๋๋ ํ ๋ฆฌ์ ์ด๋ฆ์ ๋ฐ๊พธ๋ฉด ๋ด ํ๋ก์ ํธ์ virtualenv๊ฐ ์์ค๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๊ทธ ๋์. ๋๋ ํ ๋ฆฌ์ ์ด๋ฆ์ ๋ฐ๊พธ๋ ๊ฒ์ ์ผ๋ฐ์ ์ธ ์ฌ์ฉ ์ฌ๋ก์ผ ์ ์์ผ๋ฉฐ ์ฌ์ฉ์๋ ์ด์ ๋น ์ง๊ณ ํ๊ฒฝ์ด ์ด๋ป๊ฒ ์๋์ ๋ฉ์ท๋์ง ๊ถ๊ธํดํ ์ ์์ต๋๋ค.
๊ฐ๋ฅํ ๊ฒฝ์ฐ ์์ ํ๊ณ Pipfile์ ํญ๋ชฉ์ ๋ง๋๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋๋ ๋ค๋ฅธ .pipenv ํ์ผ์ ๋ง๋ค์ด ๊ฐ ํ๋ก์ ํธ ๋๋ ํฐ๋ฆฌ์ ์ด๋ฌํ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค.
๋น์ ์ ๋ฌด์์ ์ ์ํฉ๋๊น?
๋ ์ง๋ฌธ์ ๋ชจ๋ ๋ตํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!