Pipenv: ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ virtualenv ๋Œ€์‹  venv๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

์— ๋งŒ๋“  2017๋…„ 01์›” 23์ผ  ยท  38์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: pypa/pipenv

virtualenv ๋Œ€์‹  ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ venv ์‚ฌ์šฉํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ฒ˜์Œ์— virtualenv ๋ฅผ ์„ค์น˜ํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@kennethreitz ๊ฐ€ ์—ฌ๊ธฐ์—์„œ ๊ทธ์˜ ์˜๊ฒฌ์„ ์žฌ๊ณ ํ•  ๊ฒƒ์„ ์ด‰๊ตฌํ•ฉ๋‹ˆ๋‹ค. ํ‘œ์ค€ ๋ฌธ์„œ์—์„œ๋Š” virtualenv ๋Œ€์‹  python3 -m venv๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” virtualenv๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— pipenv๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ฐœ์ธ์ ์œผ๋กœ ์—ฐ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” Python 3๋งŒ ์‚ฌ์šฉํ•˜๊ณ  ์š”์ฆ˜์—๋Š” venv ๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  38 ๋Œ“๊ธ€

๋‚˜๋Š” ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ 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
.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰