๋๋ ๊ทธ๋ ๊ฒ ์๊ฐํ์ง ์์ต๋๋ค. ๊ฐ์ธ์ ์ผ๋ก virtualenv ๋ช ๋ น์ ์ฌ์ฉํ๋ ๊ฒ์ ์ ํธํฉ๋๋ค.
ํ์ง๋ง ๋ ์ต์
์ ๋์์ ์ฌ์ฉํ ์๋ ์์๊น์? ์์ฐ์ค๋ฝ๊ฒ ์์ค๋ฅผ ๊ฒ์ํด ๋ณด๋ ํ๊ฒฝ์ ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋ ๋ช
๋ น์ ์ ์ธํ๊ณ ๋ Virtualenv์ ํน๋ณํ ๊ฒฐํฉ๋ ๊ฒ์ด ์์ต๋๋ค. VIRTUALENV๋ ํญ์ ๊ธฐ๋ณธ์ด ๋ ์ ์์ง๋ง, ์ฌ์ฉ์๊ฐ (์๋ฅผ ๋ค์ด) ํต๊ณผ ํ ์ --venv
์์ฑํ๊ธฐ .venv
๊ฐ์ง python3 -m venv
๋์ virtualenv
.
์์งํ pipenv์๋ง ์์กดํ๊ณ virtualenv ๋๋ venv๊ฐ ์ฌ์ฉ๋๋์ง ์ฌ๋ถ๋ ์ ๊ฒฝ ์ฐ์ง ์์ง๋ง ๊ฐ๋ฅํ ๊ฒฝ์ฐ ๋ด์ฅ ๊ธฐ๋ฅ์ ํ์ฉํ ์ ์๋ค๊ณ ์๊ฐํ์ต๋๋ค.
@kennethreitz ๊ฐ ์ฌ๊ธฐ์์ ๊ทธ์ ์๊ฒฌ์ ์ฌ๊ณ ํ ๊ฒ์ ์ด๊ตฌํฉ๋๋ค. ํ์ค ๋ฌธ์์์๋ virtualenv ๋์ python3 -m venv๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋๋ virtualenv๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ pipenv๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ฐ์ธ์ ์ผ๋ก ์ฐ๊ธฐํฉ๋๋ค. ์ ๋ Python 3๋ง ์ฌ์ฉํ๊ณ ์์ฆ์๋ venv ๋ง ์ฌ์ฉํฉ๋๋ค.
@bulletmark ์ด์ Pipenv๋ ๊ฑฐ์ ๋ชจ๋ Virtualenv ๊ด๋ฆฌ๋ฅผ Pew์ ์์ํ๋ฏ๋ก ์ ํํ๊ธฐ๊ฐ ํจ์ฌ ๋ ์ด๋ ต์ง๋ง Pew๊ฐ venv
๋ฅผ ์ง์ํ ๊ณํ์ด ์์ผ๋ฏ๋ก(berdario/pew#67) ์ฌ์ ํ ๊ธฐํ๊ฐ ์์ต๋๋ค. Pew๊ฐ ์๋ํ๋๋ก ํ ์ ์๋ค๋ฉด Pipenv์์ venv
์ง์์ ๊ตฌํํ๋ ๊ฒ์ด ํจ์ฌ ๋ ์ฌ์ธ ๊ฒ์
๋๋ค.
@uranusjr ์ ๋ค๋ฆฝ๋๋ค!
์ ๋ ๊ฐ์ธ์ ์ผ๋ก venv
์ฌ์ฉํ ์ ์ด ์์ผ๋ฏ๋ก ์ด์ ๋ํ ์ฐ๋ ค๊ฐ ์์ต๋๋ค. ๊ทธ๋๋ ์ข์ ๊ฑด ํ์คํด์.
์ผ์ด ์ ์งํ๋๊ณ ์์ต๋๋ค. ๊นจ์ง์ง ์์ ๊ฒ์ ๋ณ๊ฒฝํ ํ์๊ฐ ์์ต๋๋ค.
๋ด ์์คํ ์ด ๊ณ ์ฅ๋ฌ๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ตญ ์ด ์ค๋ ๋๋ฅผ ์ฐพ์์ต๋๋ค.
Python 3.X์์ virtualenv
๋ก ํ๊ฒฝ์ ๋ง๋ ๋ค์ Python 3.Y๋ก ์
๊ทธ๋ ์ด๋ํ๋ฉด Python์ ํ์ํ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ ์ค๋ ์๋ค๋ ๊ฒ์ ์๊ณ ์๊ธฐ ๋๋ฌธ์ virtualenv๊ฐ ์์๋ฉ๋๋ค. ์ฌ์ฉ venv
๊ทธ๋ฅ ์คํํ ์ python3 -m venv --upgrade
.
์ด๊ฒ์ ์ข์ ๊ธฐ๋ฅ์ด ๋ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ ํ์คํ ์ข์ผ๋ฉฐ Python์ ๋ฐฉํฅ๊ณผ ์ผ์นํฉ๋๋ค.
venv๋ฅผ ์ฌ์ฉํ์ง ์๊ณ (๋์ virtualenv๋ฅผ ์ฌ์ฉํ๋) ์ ์๊ฒ๋ ์ด์ฒด์ ๋๊ตญ์ ๋๋ค. ์ ๋ Pipenv๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋๋ dhouck์ด ์์ ๋ถ๋ง์ ๋ํด ์์์ ๋ฐ๊ฒฌํ ๊ฒ์ฒ๋ผ ํ์ด์ฌ ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ณต์ฌํ๋ฉด์๋ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์กดํ๋ ๋ต๋ตํ ๋์ ๋๋ฌธ์ virtualenv๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๊ฒ์ virtualenvs๋ฅผ ํญ์ ์ค๋จ์ํค๊ณ (์์คํ python์ด ์ ๋ฐ์ดํธ๋ ๋๋ง๋ค ๋ฐ์ด๋๋ฆฌ๊ฐ ๋งค๋ฌ๋ ค ์๋ ์ํ๋ก ๋จ์), ์๋ฌด๋ฐ ์ด์ ๋ ์์ด python ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ถํ์ํ๊ฒ ๋ณต์ฌํฉ๋๋ค.
pipenv๊ฐ Python์ ๋ฏธ๋์ธ ๊ฒฝ์ฐ Python 3์์ venv๋ฅผ ์ฌ์ฉํ๋๋ก ๊ธฐ๋ณธ ์ค์ ๋์ด์ผ ํฉ๋๋ค(์ฌ์ฉํ์ง ์์ ๋ ๊ฒฝ๊ณ ). Python 3์ ๋ด์ฅ๋์ด ์์ผ๋ฉฐ ๊ถ์ฅ๋๋ ๋๊ตฌ์ ๋๋ค. Pipenv๊ฐ ์ด์ ๊ถ์ฅ ๋๊ตฌ์ด๊ธฐ๋ ํ์ง๋ง venv๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค๋ ๊ฒ์ ๋งค์ฐ ์ด์ํ ์ผ์ ๋๋ค.
venv๋ ๋ณธ์ง์ ์ผ๋ก Python ์์ฒด์ ์ผ๋ถ์ด๊ธฐ ๋๋ฌธ์ Python์ ๋ด๋ถ์ ์ก์ธ์คํ ์ ์์ผ๋ฏ๋ก ํจ์ฌ ์ ์ ์์ ํดํน์ผ๋ก ์ฌ๋ฐ๋ฅธ ๋ฐฉ์์ผ๋ก ์์ ์ ์ํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด virtualenv๋ Python ์ธํฐํ๋ฆฌํฐ ๋ฐ์ด๋๋ฆฌ๋ฅผ ๊ฐ์ ํ๊ฒฝ์ ๋ณต์ฌํ์ฌ ๊ฒฉ๋ฆฌ๋ ๊ฒ์ผ๋ก ์๊ฐํ๋๋ก ์์ฌ์ผ ํ์ง๋ง venv๋ ์ ์์ ์ธ ์์น์์ Python ๋ฐ์ด๋๋ฆฌ๊ฐ ์ฝ์ด์ผ ํ๋ ๊ตฌ์ฑ ํ์ผ์ ์ฌ์ฉํ์ฌ ์๋ํด์ผ ํจ์ ์ ์ ์์ต๋๋ค. ๊ฐ์ ํ๊ฒฝ์ ์๋ ๊ฒ์ฒ๋ผ. ๋ฐ๋ผ์ venv๋ Python ๊ฐ๋ฐ์์ ์ถ๋ณต๊ณผ ์ง์์ผ๋ก virtualenv๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ํ๋์๋ค๊ณ ์๊ฐํ ์ ์์ต๋๋ค.
์ถ์ฒ: https://www.reddit.com/r/learnpython/comments/4hsudz/pyvenv_vs_virtualenv/
๋๋ berdario/pew#173์ ์์ํ์ง๋ง, ์ง์ ์ ์ด๋ฃฐ ์๊ฐ์ด ๋ง์ง ์์์ต๋๋ค. ์์์ ์ธ๊ธํ๋ฏ์ด Pipenv๋ Pew๊ฐ ์ง์ํ๋ฉด ์๋์ผ๋ก ์ง์ํฉ๋๋ค. venv๋ฅผ Pipenv๋ก ๊ฐ์ ธ์ค๋ ๋ฐ ๊ด์ฌ์ด ์๋ ์ฌ๋์ด ์๋ค๋ฉด ๋์์ ๋ฐ๊ณ ์ถ์ต๋๋ค. ์ง๊ธ ๊ฐ์ฅ ์ค์ํ ๋ฌธ์ ๋ ํ ์คํธ๋ฅผ ํต๊ณผํ๋ ๊ฒ์ ๋๋ค.
venv ์ง์์ ๋ํ ๋น ๋ฅธ ์
๋ฐ์ดํธ: ์ ์ด๋ ๊ฐ๊น์ด ์ฅ๋์๋ ์ผ์ด๋์ง ์์ ๊ฒ์
๋๋ค. venv
๋ ๋จ์ํ ์ด๊ฒ์ ๊ฐ๋ฅํ๊ฒ ํ๊ธฐ์ ์ถฉ๋ถํ์ง ์์ต๋๋ค. ์ด ๋ฌธ์ ์ ์ ๋ง๋ก ๊ด์ฌ์ด ์๋ค๋ฉด Python ๋ฒ๊ทธ ์ถ์ ๊ธฐ๋ก ์ด๋ ํ์ฌ ๋์์ ์์ฒญํ์ญ์์ค. ๊ทธ๋ ์ง ์์ผ๋ฉด virtualenv
๊ณ ์ํ์ญ์์ค.
venv๋ Python์ ๊ถ์ฅ๋๋ ๋๊ตฌ์ด๋ฉฐ virtualenv์ ๊ฐ์ด ์์๋์ง ์์์ต๋๋ค(๋ค์: python ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ณต์ฌํ ๋ค์ python libs ์ ๋ฐ์ดํธ ์ ์ค๋จ๋จ). ๋น์ ์ด ๋งํฌํ ๋ฒ๊ทธ๋ venv์ virtualenv๋ฅผ ๊ฒฐํฉํ๋ ๊ฒ์ ๊ดํ ๊ฒ์ธ๋ฐ, ์ด๊ฒ์ ์ฐ๋ฆฌ๊ฐ ์๊ตฌํ๋ ๊ฒ์ด ์๋๋๊น?
๋ถํํ๋ ๋๊ตฌ๊ฐ virtualenv๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถํ๋ ๊ฒ์ ๋งค์ฐ ์ผ๋ฐ์ ์ ๋๋ค. ์๋ฅผ ๋ค์ด Travis๋ ์๋ ๊ธฐ์๊ฐ ์ธ๊ธํ ๋๋ก virtualenv๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋ ํ๊ฒฝ์ ๋ง๋ญ๋๋ค. ๋ํ Pipenv๋ฅผ ์ค์นํ๋ ๋ฐ ๊ถ์ฅ๋๋ ๋ฐฉ๋ฒ ์ค ํ๋์ธ Pipsi์ ๊ธฐ๋ฐ์ด๊ธฐ๋ ํฉ๋๋ค. venv๊ฐ ๋ด๋ถ์์ ์ ์๋ํ์ง ์๋ ๊ฒฝ์ฐ. ๋ชจ๋ฅด๋ ๊ณณ์ ๋ง์ด ์์ต๋๋ค. Venv ์ง์์ virtualenv์ ์ ์๋ํ์ง ์์ผ๋ฉด ์ ๋ฐ์ด ๊นจ์ ธ ์์์น ๋ชปํ ๋ฐฉ์์ผ๋ก ๋น์ ์ ๋ฌผ๋ฆด ๊ฒ์ ๋๋ค.
๋๋ ๊ทธ๊ฒ์ ์ดํดํ์ง๋ง ์ด ์์ ์์ Pipenv๊ฐ ๊ถ์ฅ๋๊ณ venv๊ฐ ๊ถ์ฅ๋๋ฉฐ ๊ทธ๋ค์ ์ผ์ข ์ ์ถฉ๋์ ๋๋ค. ์์ฃผ ์ด์ํ ์ํ์ ๋๋ค.
๋๋ ๊ทธ๊ฒ์ด ์ด์ํ ์ํ์ ์๋ค๋ ๊ฒ์ ์ ์ ์ผ๋ก ๋์ํฉ๋๋ค. ๊ทธ๋์ ๊ทธ๊ฒ์ ๊ณ ์น๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค :) ๊ณ ์ณ์ง์ง ์์ ๊ฒ์ด๋ผ๋ ๋ง์ ์๋์ง๋ง ๋จผ์ ์ ์คํธ๋ฆผ ๋ณ๊ฒฝ์ด ํ์ํ๊ณ ๊ทธ๋ค์ด ๋ ๋๊น์ง ๋ด๊ฐ ํ ์ ์๋ ์ผ์ ์์ต๋๋ค ์ผ์ด๋ ๋ค. ์ด ๋งํฌ๋ฅผ ๊ฒ์ํ๋ ์ด์ ๋ ์์ ์ ์ค๋จํ๊ธฐ ์ํ ํ๊ณ๊ฐ ์๋๋ผ ์ฌ๋๋ค์๊ฒ ์ด ์ํฉ์ ๊ฐ์ ํ๊ธฐ ์ํด ๋จผ์ ๋ ธ๋ ฅํด์ผ ํ ๋ถ๋ถ์ ์๋ ค์ฃผ๊ธฐ ์ํ ๊ฒ์ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด ๋ฌธ์ ๋ฅผ ๊ณ์ ์ด์ด๋๋ ๊ฒ์ด ๋๋ฌด ๋ฏธ์น ์ง์ด ์๋๊น์?
์ด๊ฒ์ pipenv ๋ฌธ์ ๊ฐ ์๋๋ผ ํจ ๋ฌธ์ ์ ๋๋ค.
venv๋ ๋จ์ํ ์ด๊ฒ์ ๊ฐ๋ฅํ๊ฒ ํ๊ธฐ์ ์ถฉ๋ถํ์ง ์์ต๋๋ค. ์ด ๋ฌธ์ ์ ์ ๋ง๋ก ๊ด์ฌ์ด ์๋ค๋ฉด Python ๋ฒ๊ทธ ์ถ์ ๊ธฐ๋ก ์ด๋ ํ์ฌ ๋์์ ์์ฒญํ์ญ์์ค.
venv์ ๋ฌธ์ ๊ฐ ์๋๋ผ virtualenv์ ๋ฌธ์ ์
๋๋ค. ๋ฌธ์ ์ถ์ ๊ธฐ ์๋์ ๋ช ๊ฐ์ง ์ค๋ช
์ ๊ฒ์
cc @uranusjr
๋ผ๋ ๋ง์ด ์์ต๋๋ค ->
venv๋ฅผ ์ฌ์ฉํ์ฌ ๋จผ์ virtualenv๋ฅผ ๋ง๋ ๋ค์ pipenv install
๋ฅผ ์คํํฉ๋๋ค. ์๋ฅผ ๋ค์ด:
mkdir -p /tmp/try
cd /tmp/try
python3 -m venv .venv
pipenv --venv # /tmp/try/.venv
pipenv install xxx
๐
์ฐธ๊ณ ์ฌํญ:
์์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋๋ถ๋ถ ์๋ํ์ง๋ง pipenv run ...
activate_this.py
์๋์ .venv/bin
activate_this.py
์ด ์๊ธฐ ๋๋ฌธ์ pipenv run ...
์คํจํฉ๋๋ค. ๋ฌธ์ 21496์ ๋ฏฟ์ด์ผ ํ๋ค๋ฉด ์ด ํ์ผ์ venv์ ์ถ๊ฐํ ๊ณํ์ด ์์ต๋๋ค. ๋ฐ๋ผ์ pew๊ฐ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ผ๋ pipenv์๋ ์ฌ์ ํ ๋ฌธ์ ๊ฐ ์์ ์ ์์ต๋๋ค.
virtualenv๋ฅผ ์ฌ์ฉํ์ฌ macOS์์ system tk ๋ชจ๋์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ๊ทธ๋ฌ๋ venv๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฅํฉ๋๋ค.
pipenv์ ํจ๊ป venv๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ต๋๋ค(์ ํ ์ฌํญ์ผ ์ ์์).
์ฐธ์กฐ: #1416
๋์์ ์ผ๋ก ๋ค๋ฆฌ์ง๋ ์์ง๋ง ๋๊ตฐ๊ฐ๊ฐ ์ค์ ๋ก ๊ทธ๋ ๊ฒ๊น์ง ์ ๊ฒฝ์ ์ฐ๋ ๊ฒฝ์ฐ ์ด๋ฅผ ์ง์ํ๋ ์ฝ๋๋ฅผ ์ค์ ๋ก ์์ฑํ๊ธฐ๋ฅผ ๊ฐ๋ ฅํ ์ํฉ๋๋ค. ๋๋ ์ด๊ฒ์ ๋ํด "๊ฐํ๊ฒ" ๋๋๋ค๊ณ ๋งํ๋ ๋ง์ ์ฌ๋๋ค์ ๋ง๋ฌ์ง๋ง, ๋ด๊ฐ ์๋ ํ ๋๋ ์ค์ ๋ก ๋ฌด์์ด๋ ํ ์ ์๋ ์ ์ผํ ์ฌ๋์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ ์คํจํ๋ค. ์ด๊ฒ์ ์๊ฐ๋งํผ ๊ฐ๋จํ์ง ์์ต๋๋ค. ๋ ์ํ ์ ์๋ค๊ณ ์๊ฐ๋๋ฉด ๋ฌด์ธ๊ฐ๋ฅผ ํ์ญ์์ค. ์ํ์ง ์์ผ๋ฉด ์ป์ ์ ์๋ ๊ฒ์ ๊ฐ์ ธ์ค์ธ์.
(kenneth์ ๋, ๊ทธ๋ฆฌ๊ณ ์๋ง๋ erin๊ณผ nate๋ ํ๋ก์ ํธ ์ด๊ธฐ์ venv๋ฅผ ์ฌ์ฉํ์ฌ ์ด ์์ ์ ์๋ํ์ง๋ง ํธํ์ฑ ๋ฌธ์ ๋ก ์ธํด ์คํจํ์ต๋๋ค)
์ด๊ฒ์ ์ข์ ๊ฒ์ ๋๋ค. ๋ชจ๋๊ฐ ๋์ํฉ๋๋ค. ํ๋ซํผ๊ณผ ํ์ด์ฌ ๋ฒ์ ์์ ์๋ํ๋ ๊ฒ์ ๋ณด๊ณ ์ถ์ต๋๋ค.
venv๊ฐ virtualenv๋ณด๋ค ๋ ๋์ ์ ํ์ด ๋ ์ ์๋ ๋ค๋ฅธ ์ด์ ๋ฅผ ์ง์ ํ๊ณ ์ถ์ต๋๋ค.
virtualenv ๊ตฌํ์ ๋ ์ถ์ ํ ์ธก๋ฉด ์ค ํ๋๋ ์์ฑ๋ Python ๋ฒ์ ์ ๊ด๊ณ์์ด ๋ชจ๋ virtualenv์ ์ฌ์ฉ๋๋ ์์ฒด ์ฌ์ดํธ ๋ชจ๋ ๋ณต์ฌ๋ณธ์ด ์์ด์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค.
-- https://github.com/pypa/virtualenv/issues/228#issuecomment -4165148์์
์ด๊ฒ์ ์๋ฅผ ๋ค์ด rlcompleter ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํ๋์ด ์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ฉฐ ์ด๋ ์ ์๊ฐ์ ์์ฒญ๋ ์ ์ฉ์ฑ ์์ค์ ๋๋ค.
๋ํ ์ด๊ฒ์ ์ฌ๋ฌ ์ฌ์ฉ์์๊ฒ ์ํฅ์ ๋ฏธ์น๋ ๋ฌธ์ ์ด๋ฏ๋ก ์ ์คํธ๋ฆผ์์ ์ผ๋ถ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์ํ๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋๋ผ๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ ๋๊น์ง ์ด์ด ๋๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ค์. ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ด ๋ ์ข์ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๊ทธ๊ฒ์ ์ค์ ๋ก ๊ฐ๋ฅํ์ง ์์ต๋๋ค. ๋ง์ ์ฌ์ฉ์ ์ธ๊ทธ๋จผํธ์ ๊ธฐ๋ฅ์ ์์ ํ ์ค๋จํ๊ฑฐ๋ ์ผ๋ถ ์ฌ์ฉ์๊ฐ readline ๊ธฐ๋ฅ์ ์ผ์ผ ํ๋ ๊ฒ๋ณด๋ค ๋ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น๋ ๊ฒ์ ๋ฌด์์ด๋ผ๊ณ ์๊ฐํ์ญ๋๊น?
๋๋ ์ด๊ฒ์ด ๋ถํธํ๋ค๊ณ ํ์ ํฉ๋๋ค. ๋ํ ์ด๊ฒ์ ์๊ตฌํ๋ ์ฌ๋๋ค๋ง ์๋ ๊ฒ ๊ฐ์ง๋ง ์๋ํ๋ ๊ตฌํ์ ์ ๊ณตํ ์ฌ๋์ด ์๋ฌด๋ ์๋ค๋ ๊ฒ ๋ํ ๋ถํธํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์๋ํ์ต๋๋ค. ๋ฌด์ธ๊ฐ๊ฐ ํฌ๊ฒ ๋ฐ๋ ๋๊น์ง ์ฐ๋ฆฌ๋ venv๋ฅผ ์ง์ํ ๊ณํ์ด ์์ผ๋ฏ๋ก ์ด ๋ฌธ์ ๋ฅผ ์ด โโ๊ณํ์ด ์์ต๋๋ค.
@techalchemy ๋ด๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ดํดํ๋ค๋ฉด pypa/virtualenv#1095๊ฐ ์ด์ ๋ํด ๋ ผ์ํ ์ฌ๋ฐ๋ฅธ ์ฅ์์ ๋๊น?
๋ง๋ ๊ฒ ๊ฐ์ต๋๋ค. tox์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์๋ ๊ฒ์ ๋ณด์์ผ๋ฏ๋ก ๋๊ตฐ๊ฐ ํฌํ ํ๋ฉด ์๋ํ ์ ์์ต๋๋ค.
์ข์! ๋ฌด์จ ํ ๋ก .. ์ด ํจ ์ผ์ด ๊ทธ๋ ๊ฒ ์ค์ํ์ง ์๋ค๋ฉด virtualenv์ ํจ๊ป ๊ทธ๊ฒ๋ค์ ๋ชจ๋ ์ญ์ ํ๊ณ pipenv, venv ๋ฐ python์ด ๋ชจ๋ ์๋ก ์ถ์ฒํ๋ฏ๋ก ํจ๊ป ์์ ์ก์ ์ ์์ต๋๊น?
ํ์ด์ฌ์ ์ํ ์ข ์์ฑ ๊ด๋ฆฌ/๊ฐ์ ํ๊ฒฝ ์๋ฃจ์ ์ ํ์ฌ ๋๋ฌด ํ๋ํ ์งํ์ด๋ฉฐ ์ฝ๊ฐ์ ํฌ์์ ๊ฐ์ํด์ผ ํฉ๋๋ค. imho.
์ด๊ฒ์ ์์ง virtualenv ์ฌ์ฉ์ ์ค๋จํ ์ค๋น๊ฐ ๋์ง ์์ ๋ง์ ์ฌ๋๋ค์ ๋๋ผ๊ฒ ํ ์ ์์ง๋ง ๋ค๊ฐ์ค๋ ์ฃผ์ ๋ฆด๋ฆฌ์ค ์ค ํ๋๋ฅผ ์ํด ๊ณํ๋ ์ ์์ต๋๋ค(๊ธฐ์ ์ ์ผ๋ก ๊ฐ๋ฅํ ๊ฒฝ์ฐ). ๋ณ๊ฒฝ์ ๋ถ๊ฐํผํ๋ฉฐ ์๊ฐ ๋ฌธ์ ์ผ ๋ฟ์ ๋๋ค.
@doganmeh ์ฐ๋ฆฌ๋ virtualenv๋ฅผ ์์ ํ ํฌ๊ธฐํ๊ณ Python 3.3 ์ด์๋ง ์ง์ํ๋ ๋๋ฑํ ์ ํ์ ๋ง๋ค ์ ์์ง๋ง ๋ค๋ฅธ ํ๋ก์ ํธ๋ฅผ ๋ง๋๋ ๊ฒ์ด ๋ ์ฌ์ธ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์ฐธ๊ณ ์ฌํญ:
์์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋๋ถ๋ถ ์๋ํ์ง๋ง
pipenv run ...
activate_this.py
์๋์.venv/bin
activate_this.py
์ด ์๊ธฐ ๋๋ฌธ์pipenv run ...
์คํจํฉ๋๋ค. ๋ฌธ์ 21496์ ๋ฏฟ์ด์ผ ํ๋ค๋ฉด ์ด ํ์ผ์ venv์ ์ถ๊ฐํ ๊ณํ์ด ์์ต๋๋ค. ๋ฐ๋ผ์ pew๊ฐ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ผ๋ pipenv์๋ ์ฌ์ ํ ๋ฌธ์ ๊ฐ ์์ ์ ์์ต๋๋ค.
๊ทธ๊ฒ ์ ๋ง ํ์ํ๊ฐ์? venv๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ํ๊ฒฝ์ ๋ง๋ ํ์๋ ์ด๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ํ์ฑํํ ํ์๊ฐ ์์ต๋๋ค. venv/bin ๋๋ ํ ๋ฆฌ์์ python ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์คํํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
FWIW, ์ด๊ฒ์ ๊ด๋ จ์ด ์์ต๋๋ค(๊ทธ๋ฆฌ๊ณ ๋๋ฅผ ์ฌ๊ธฐ๋ก ๋ฐ๋ ค์จ ๊ฒ): http://matplotlib.org/faq/osx_framework.html
virtualenv ์์๋ ํ๋ ์์ํฌ ๋น๋( virtualenv bug #54 , virtualenv bug #609 )์์ ํ๊ฒฝ์ด ์์ฑ๋ ๊ฒฝ์ฐ์๋ non-framework ๋น๋๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
ํด๊ฒฐ์ฑ ์ virtualenv๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋์ stdlib์ venv ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ์ด๋ ์ ์ฌํ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง๋ง ์ด ๋ฌธ์ ๋ฅผ ๋ํ๋ด์ง ์์ต๋๋ค.
Python 2.7/virtualenv ์ง์์ ์ค๋จํ๋ ๊ฒ์ ํนํ ๋์ฐํ ์๊ฐ์ฒ๋ผ ๋ค๋ฆฌ์ง ์์ต๋๋ค. pipenv
๊ฐ ์ง์์ด ๋ง๋ฃ๋์ง ์์ Python ๋ฒ์ ์ stdlib์ ์์กดํ๋๋ก ํ์ฉํ๋ค๋ฉด ๋ง์
๋๋ค. pipenv
๋๊ตฌ ๋ชจ์์ ๋ค๋ฅธ ๋ถ๋ถ์ ์์์ํค์ง ์๋ ํ ์ ์ง ๊ด๋ฆฌ์๊ฐ ์ฝ๊ฒ ๊ณ ์น ์ ์์ต๋๋ค. 2.7 ์ง์์ ๋ณ๋์ ๋ถ๊ธฐ/ํจํค์ง๋ก ์ฎ๊ธธ ์๋ ์์ต๋๊น?
์ค์ ์ฝ๋๋ฅผ ์ ๊ณตํ๊ณ ์ถ์ง๋ง ๊ทธ๋ ๊ฒ ํ๋ ๋ฐ ํ์ํ ๊ฒฝํ์ด๋ ์๊ฐ์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค. :frow: ๋ด๊ฐ ํ ์ ์๋ ์ต์ ์ ํ์ฌ ํ ๋ก ์ ์ถ๊ฐํ๋ ๊ฒ์ ๋๋ค.
์ฌ๊ธฐ์ ๋ด ๋ชฉ์๋ฆฌ๋ฅผ ์ถ๊ฐํฉ๋๋ค. @dmtucker ์ ๊ฐ์ ๋ฌธ์ ๋ก ์ธํด ๋ฐฉ๊ธ ์ด๊ฒ์
์ ๋ ํ์ฌ Mac์์ ์ด ํ๋ก์ ํธ๋ฅผ ์ํด pipenv๋ฅผ ์์ ํ ๋ฌด์ํ๊ณ ์ง๊ธ์ venv๋ฅผ ์ฌ์ฉํ์ฌ ํ๊ฒฝ์ ์ง์ ๋ง๋ค๊ณ ์์ต๋๋ค.
+1 venv๋ฅผ ์ฌ์ฉํฉ๋๋ค.
virtualenv์๋ ๋ง์ wontfix ๋ฒ๊ทธ๊ฐ ์์ต๋๋ค.
pipenv๋ Windows Store์ Python 3.7์ด ํฌํจ๋ Windows 10์์ ์์ ํ ์ ์ฉํฉ๋๋ค(virtualenv bug#1362 ).
virtualenv๊ฐ venv ๋ชจ๋ธ๋ก ์ด๋ ์ค์ ๋๋ค. https://github.com/pypa/virtualenv/issues/1366 ์ฐธ์กฐ
---------- ์ ๋ฌ ๋ ๋ฉ์์ง ---------
๋ณด๋ธ ์ฌ๋: Dan Ryan ์๋ฆผ @github.com
๋ ์ง: 2018๋
11์ 26์ผ ์์์ผ ์คํ 2:39
์ ๋ชฉ: Re: [pypa/pipenv] ๊ฐ๋ฅํ ๊ฒฝ์ฐ virtualenv ๋์ venv ์ฌ์ฉ(#15)
๋ฐ๋ ์ฌ๋: pypa/pipenv [email protected]
์ฐธ์กฐ: ๊ตฌ๋
[email protected]
๋ง๋ ๊ฒ ๊ฐ์ต๋๋ค. tox์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์๋ ๊ฒ์ ๋ณด์์ผ๋ฏ๋ก
๋๊ตฐ๊ฐ ๊ทธ๊ฒ์ ์ด์ํ๋ค
โ
์ด ์ค๋ ๋์ ๊ฐ์
ํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๊ณ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/pypa/pipenv/issues/15#issuecomment-441533872 ๋๋ ์์๊ฑฐ
์ค๋ ๋
https://github.com/notifications/unsubscribe-auth/AqyQvrs-RNNTb1YhxaDCWDLpRxrZLKoxks5uy4ydgaJpZM4Lqk2f
.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@kennethreitz ๊ฐ ์ฌ๊ธฐ์์ ๊ทธ์ ์๊ฒฌ์ ์ฌ๊ณ ํ ๊ฒ์ ์ด๊ตฌํฉ๋๋ค. ํ์ค ๋ฌธ์์์๋ virtualenv ๋์ python3 -m venv๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋๋ virtualenv๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ pipenv๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ฐ์ธ์ ์ผ๋ก ์ฐ๊ธฐํฉ๋๋ค. ์ ๋ Python 3๋ง ์ฌ์ฉํ๊ณ ์์ฆ์๋ venv ๋ง ์ฌ์ฉํฉ๋๋ค.