[Python] Python ๊ฐ€์ƒํ™˜๊ฒฝ (venv) ์•Œ์•„๋ณด๊ธฐ

2023. 8. 29. 13:39ใ†ETC/Programming

๊ฐ€์ƒ ํ™˜๊ฒฝ์ด๋ž€?

๊ฐ€์ƒ ํ™˜๊ฒฝ์€ ํŒŒ์ด์ฌ ์ธํ„ฐํ”„๋ฆฌํ„ฐ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋‹ค๋ฅธ ๊ฐ€์ƒ ํ™˜๊ฒฝ์— ์„ค์น˜๋œ ๊ฒƒ๊ณผ (๊ธฐ๋ณธ์ ์œผ๋กœ) “์‹œ์Šคํ…œ” ํŒŒ์ด์ฌ(๊ธฐ์กด ์šด์˜ ์ฒด์ œ ์ผ๋ถ€๋กœ ์„ค์น˜๋˜์–ด์žˆ๋Š” ๊ฒƒ)์— ์„ค์น˜๋œ ๋ชจ๋“  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๊ฒฉ๋ฆฌ๋˜์–ด์žˆ๋Š” ํŒŒ์ด์ฌ ํ™˜๊ฒฝ.

ํŒŒ์ด์ฌ ์‹คํ–‰ ํŒŒ์ผ๊ณผ ๊ฐ€์ƒ ํ™˜๊ฒฝ์ž„์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋‹ค๋ฅธ ํŒŒ์ผ์„ ํฌํ•จํ•˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ ํŠธ๋ฆฌ.

 

๊ฐ€์ƒํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ ?

ํŒŒ์ด์ฌ ํŠน์„ฑ

  • ๊ฐœ๋ฐœ ์ฃผ๊ธฐ๊ฐ€ ๋น ๋ฆ„.
  • ๋‹ค์–‘ํ•œ ํŒจํ‚ค์ง€๋ฅผ ์ด์š”ํ•˜๋Š”๋ฐ, ํŒจํ‚ค์ง€ ๋ฒ„์ „์— ๋”ฐ๋ผ ํ˜ธํ™˜์ด ์•ˆ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒ.

๊ฐ€์ƒ ํ™˜๊ฒฝ์€ ์ข…์†์„ฑ ๊ด€๋ฆฌ ๋ฐ ๋ถ„๋ฆฌ, ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž ์•ก์„ธ์Šค ์—†์ด Python ํŒจํ‚ค์ง€ ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ์˜ ์šฉ์ด์„ฑ, ์—ฌ๋Ÿฌ Python ๋ฒ„์ „์— ๊ฑธ์น˜ Python ์†Œํ”„ํŠธ์›จ์–ด์˜ ์ž๋™ ํ…Œ์ŠคํŠธ ๋“ฑ์— ์ด๋ฏธ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค. ์‹œ์Šคํ…œ ๋ ˆ๋ฒจ์˜ site-package ๋””๋ ‰ํ† ๋ฆฌ๋กœ๋ถ€ํ„ฐ ์™„์ „ํžˆ ๋…๋ฆฝ๋˜์–ด ์žˆ๋‹ค.

๐Ÿ”— https://thrillfighter.tistory.com/387

๐Ÿ”—  https://www.daleseo.com/python-venv/

 

venv ๋ชจ๋“ˆ

ํŒŒ์ด์ฌ 3.3 ๋ถ€ํ„ฐ๋Š” venv ๋ชจ๋“ˆ์ด ๋‚ด์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„๋„ ํŒจํ‚ค์ง€ ์„ค์น˜์—†์ด ํŒŒ์ด์ฌ๋งŒ ์„ค์น˜๋˜์–ด ์žˆ์œผ๋ฉด ๋ฐ”๋กœ ๊ฐ€์ƒ ํ™˜๊ฒฝ ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

์ž์ฒด ์‚ฌ์ดํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๊ฐ–๋Š” ๊ฒฝ๋Ÿ‰ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ๋งŒ๋“œ๋ก, ์„ ํƒ์ ์œผ๋กœ ์‹œ์Šคํ…œ ์‚ฌ์ดํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ ๊ฒฉ๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›. ๊ฐ ๊ฐ€์ƒ ํ™˜๊ฒฝ์€ ๊ณ ์œ ํ•œ ํŒŒ์ด์ฌ ๋ฐ”์ด๋„ˆ๋ฆฌ(์ด ํ™˜๊ฒฝ์„ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฒ„์ „๊ณผ ์ผ์น˜)๋ฅผ ๊ฐ€์ง€๋ฉฐ ์ž์‹ ์˜ ์‚ฌ์ดํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋…๋ฆฝ์ ์œผ๋กœ ์„ค์น˜๋œ ํŒŒ์ด์ฌ ํŒจํ‚ค์ง€ ์ง‘ํ•ฉ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ.

# Create Virtual Environment
python3 -m venv /path/to/new/virtual/environment

 

๊ฐ€์ƒ ํ™˜๊ฒฝ ํ™œ์„ฑํ™”

์ผ๋‹จ ๊ฐ€์ƒ ํ™˜๊ฒฝ์ด ๋งŒ๋“ค์–ด์ง€๋ฉด, ๊ฐ€์ƒ ํ™˜๊ฒฝ์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ “ํ™œ์„ฑํ™””ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ™˜๊ฒฝ์„ ๊ตฌ์ฒด์ ์œผ๋กœ ํ™œ์„ฑํ™”ํ•  ํ•„์š”๋Š” ์—†๋‹ค. ํ™œ์„ฑํ™”๋Š” ๋‹จ์ง€ PATH์˜ ์ฒ˜์Œ์— ๊ฐ€์ƒ ํ™˜๊ฒฝ์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ python์ด ๊ฐ€์ƒ ํ™˜๊ฒฝ์˜ ํŒŒ์ด์ฌ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ์ „์ฒด ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„ ์„ค์น˜๋œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ๊ฐ€์ƒ ํ™˜๊ฒฝ์— ์„ค์น˜๋œ ๋ชจ๋“  ์Šคํฌ๋ฆฝํŠธ๋Š” ํ™œ์„ฑํ™”ํ•˜์ง€ ์•Š๊ณ ๋„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•ด์•ผ ํ•˜๋ฉฐ, ์ž๋™์œผ๋กœ ๊ฐ€์ƒ ํ™˜๊ฒฝ์˜ ํŒŒ์ด์ฌ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ํ•ด์•ผ ํ•œ๋‹ค.

๐Ÿ’ก ๊ฐ€์ƒ ํ™˜๊ฒฝ์ด ํ™œ์„ฑ ์ƒํƒœ = ๊ฐ€์ƒ ํ™˜๊ฒฝ์˜ ํŒŒ์ด์ฌ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ ์‹คํ–‰ ์ค‘์ผ ๋•Œ.

  • ํ™œ์„ฑํ™”
# bash/zsh ์…ธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ
source <venv>/bin/activate
  • ๋น„ํ™œ์„ฑํ™”
deactivate