πŸ› οΈBackend/⚑Python

[Python] 가상 ν™˜κ²½

junbin2 2025. 12. 18. 13:51

βœ… 1. Python - 가상 ν™˜κ²½

  • νŒŒμ΄μ¬μ—μ„œλŠ” 가상 ν™˜κ²½μ„ μ œκ³΅ν•΄μ£Όλ©°, ν•΄λ‹Ή 가상 ν™˜κ²½μ€ ν”„λ‘œμ νŠΈλ§ˆλ‹€ λ…λ¦½λœ 파이썬 μ‹€ν–‰ ν™˜κ²½μ„ λ§Œλ“€μ–΄ μ£ΌλŠ” κ²ƒμž„.
  • λ…λ¦½μ μœΌλ‘œ κ΅¬μ„±λ˜λŠ” λ‚΄μš©μ€ "파이썬 μ‹€ν–‰ 파일", "pip", "μ„€μΉ˜λœ λΌμ΄λΈŒλŸ¬λ¦¬λ“€" 이 됨.
  • 가상 ν™˜κ²½ μ‚¬μš© μž₯점: 파이썬 ν•œ 곳에 μ „μ—­μœΌλ‘œ μ„€μΉ˜κ°€ λ˜λŠ” νŒ¨ν‚€μ§€κ°€ μ‘΄μž¬ν•˜κ²Œ 되면, ν”„λ‘œμ νŠΈ λ§ˆλ‹€ νŒ¨ν‚€μ§€ 및 버전이 좩돌이 될 수 있기 λ•Œλ¬Έμ—, μ—¬λŸ¬ ν”„λ‘œμ νŠΈλ₯Ό ν•˜λ‚˜μ˜ μ»΄ν“¨ν„°μ—μ„œ λŒλ¦°λ‹€κ³  ν•˜λ©΄ 가상 ν™˜κ²½μ„ 톡해 격리λ₯Ό μ‹œμΌœ 쀄 수 있음.

(1) 가상 ν™˜κ²½ 생성 - λͺ…λ Ήμ–΄

python -m venv venv(가상 ν™˜κ²½λͺ…)
  • 가상 ν™˜κ²½μ„ μ„ΈνŒ…ν•˜κ³ μž ν•˜λŠ” ν”„λ‘œμ νŠΈ 폴더 root κ²½λ‘œμ— λͺ…λ Ήμ–΄λ₯Ό μž…λ ₯ν•΄μ£Όλ©΄ λœλ‹€.
  • venv λŠ” 파이썬 가상 ν™˜κ²½ virtual environment 의 μ•½μžμ΄λ‹€.
  • 가상 ν™˜κ²½λͺ…은 직접 μ§€μ •ν•΄μ„œ μ‚¬μš©μ΄ κ°€λŠ₯함.

  • μœ„μ™€ 같은 venv(가상 ν™˜κ²½λͺ…) 폴더가 ν•΄λ‹Ή ν”„λ‘œμ νŠΈμ— λ§Œλ“€μ–΄μ§€κ²Œ 됨.
  • ꡬ성을 보면 pip λ₯Ό ν†΅ν•΄μ„œ λ°›μ•„μ˜€λŠ” λΌμ΄λΈŒλŸ¬λ¦¬λ“€μ΄ 이곳에 μ €μž₯이 되기 λ•Œλ¬Έμ— λ‹€λ₯Έ ν”„λ‘œμ νŠΈμ— 영ν–₯을 μ•ˆμ€Œ.
  • venv λŠ” κ±΄λ“œλ¦΄ ν•„μš” 없이, ν•΄λ‹Ή 루트 μ•ˆμ—μ„œ λŒμ•„κ°€λŠ” 파이썬 νŒŒμΌλ“€μ€ 가상 ν™˜κ²½μ— μ˜ν•΄μ„œ 싀행이 될 수 있음.

(2) 가상 ν™˜κ²½ ν™œμ„±ν™” - λͺ…λ Ήμ–΄

.\venv\Scripts\activate
  • ν•΄λ‹Ή λͺ…λ Ήμ–΄λŠ” 가상 ν™˜κ²½μ„ ν™œμ„±ν™” ν•˜λŠ” λͺ…λ Ήμ–΄λ‘œ, λ°˜λ“œμ‹œ ν™œμ„±ν™”λ₯Ό ν•΄μ€˜μ•Όμ§€ ν•΄λ‹Ή 가상 ν™˜κ²½ ν”„λ‘œμ νŠΈλ₯Ό μ‚¬μš© ν•  수 있음.
  • λ˜ν•œ, ν™œμ„±ν™” λͺ…λ Ήμ–΄λ₯Ό ν•œ λ’€ pip λ₯Ό λ°›μ•„μ•Όμ§€ ν•΄λ‹Ή 가상 ν™˜κ²½μ— λ°›μ•„μ Έμ„œ 라이브러리λ₯Ό μ‚¬μš© ν•  수 있음.

  • ν™œμ„±ν™”κ°€ 된 μƒνƒœλŠ” 터미널을 열어보면 μ•žμ— (venv) λ₯Ό ν†΅ν•΄μ„œ μ•Œ 수 있음.