๊ธ€ ์ž‘์„ฑ์ž: ๋˜ฅํด๋ฒ .
๋ฐ˜์‘ํ˜•

venv?

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

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

https://docs.python.org/ko/3/library/venv.html

 

venv — Creation of virtual environments

Source code: Lib/venv/ The venv module supports creating lightweight “virtual environments”, each with their own independent set of Python packages installed in their site directories. A virtual en...

docs.python.org

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

 

 

์™œ ์‚ฌ์šฉํ• ๊นŒ?

  • ์˜์กด์„ฑ ๊ด€๋ฆฌ: ๊ฐ ํ”„๋กœ์ ํŠธ์— ํ•„์š”ํ•œ ํŠน์ • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฒ„์ „์„ ๋…๋ฆฝ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํ™˜๊ฒฝ ๊ฒฉ๋ฆฌ: ํ”„๋กœ์ ํŠธ๋ณ„๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ์„ค์ •์ด๋‚˜ ์˜์กด์„ฑ์„ ๊ฒฉ๋ฆฌํ•˜์—ฌ ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•œ๋‹ค.
  • ๊ฐ„ํŽธํ•œ ๋ฐฐํฌ: ํ”„๋กœ์ ํŠธ์˜ requirements.txt๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋ฅผ ์‰ฝ๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

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

python -m venv myenv

 

 

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

Windows

myenv\Scripts\activate

 

macOS / Linux

source myenv/bin/activate

 

์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ?
.\myenv\Scripts\activate : ์ด ์‹œ์Šคํ…œ์—์„œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ C:\dev\python\pnews_maker\myenv\Scripts\Activate.ps1 ํŒŒ์ผ์„ ๋กœ๋“œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด ์šฉ์€ about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. ์œ„์น˜ ์ค„:1 ๋ฌธ์ž:1 + .\myenv\Scripts\activate + ~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ๋ณด์•ˆ ์˜ค๋ฅ˜: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess

์•„๋ž˜์™€ ๊ฐ™์ด ์‹คํ–‰ ์ •์ฑ…์„ ๋ณ€๊ฒฝํ•ด์ค€๋‹ค.
Set-ExecutionPolicy RemoteSigned

 

 

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

deactivate

 

 

ํŒจํ‚ค์ง€ ์„ค์น˜ ๋ฐ ๊ด€๋ฆฌ

pip install package_name

 

 

์˜์กด์„ฑ ํŒŒ์ผ ์ƒ์„ฑ

pip freeze > requirements.txt

 

 

์˜์กด์„ฑ ์„ค์น˜

pip install -r requirements.txt
๋ฐ˜์‘ํ˜•