๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Programming/programming

[Django & ๊ฐ€์ƒํ™˜๊ฒฝ] pyenv ๋ช…๋ น์–ด ๋ชจ์Œ ๋ฐ ๊ฐœ๋… ์ •๋ฆฌ

โ–ช๏ธpython tool

1. pyenv

  • ํŒŒ์ด์ฌ ๋ฒ„์ „ ๊ด€๋ฆฌ ํˆด
  • ํ•˜๋‚˜์˜ ์ปดํ“จํ„ฐ์— ๋‹ค์–‘ํ•œ ํŒŒ์ด์ฌ ๋ฒ„์ „ ์„ค์น˜ ๋ฐ ๊ด€๋ฆฌ
  • pyenv git hub documentation

2. pyenv-vitrualenv

  • ํŒŒ์ด์ฌ ํ™˜๊ฒฝ์„ ๊ฒฉ๋ฆฌํ•˜๋Š” ํˆด์ธ virtualenv์˜ pyenv ํ”Œ๋Ÿฌ๊ทธ์ธ
  • pyenv-vitrualenv git hub documentation

3. pip

  • ํŒŒ์ด์ฌ ํŒจํ‚ค์ง€ ์„ค์น˜ ๋ฐ ๊ด€๋ฆฌ ํˆด
  • pip documentation v22.0.4

โ–ช๏ธglobal & local

1. global ๊ฐ€์ƒํ™˜๊ฒฝ

  • ์‹œ์Šคํ…œ ์ „์—ญ์— ์ ์šฉํ•˜๋Š” ํ™˜๊ฒฝ
  • ๋”ฐ๋กœ ์ง€์ •ํ•ด์ฃผ์ง€์•Š์œผ๋ฉด, ๊ธฐ๋ณธ์ ์œผ๋กœ global ๊ฐ€์ƒํ™˜๊ฒฝ ์‚ฌ์šฉ

2. local ๊ฐ€์ƒํ™˜๊ฒฝ

  • ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด๋ถ€์—์„œ๋งŒ ์ ์šฉ๋˜๋Š” ํ™˜๊ฒฝ
  • global ํ™˜๊ฒฝ์ด ์ง€์ •๋˜์–ด์žˆ๋”๋ผ๋„ ๋ฌด์‹œํ•˜๊ณ , local ํ™˜๊ฒฝ์ด ์ ์šฉ(์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋†’๋‹ค)

โ–ช๏ธpyenv ๋ฐ ๊ธฐํƒ€ ํ„ฐ๋ฏธ๋„ ๋ช…๋ น์–ด ์ •๋ฆฌ

๊ธฐ๋Šฅ ๋ช…๋ น์–ด example code
pyenv๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋Š” python ๋ฒ„์ „๋“ค ํ™•์ธ pyenv install --list -
pyenv๋กœ python ์„ค์น˜ pyenv install {ํŒŒ์ด์ฌ ๋ฒ„์ „} pyenv install 3.9.10
์„ค์น˜๋œ python ๋ฒ„์ „๋“ค ํ™•์ธ(๋ชฉ๋ก ํ™•์ธ) pyenv versions -
pyenv๋กœ ๊ฐ€์ƒ ํ™˜๊ฒฝ ์ƒ์„ฑ pyenv virtualenv {ํŒŒ์ด์ฌ ๋ฒ„์ „} {๊ฐ€์ƒ ํ™˜๊ฒฝ ์ด๋ฆ„} pyenv virtualenv 3.9.10 django-envs
pyenv๋กœ ์ƒ์„ฑํ•œ ๊ฐ€์ƒ ํ™˜๊ฒฝ ์‚ญ์ œ pyenv uninstall {๊ฐ€์ƒ ํ™˜๊ฒฝ ์ด๋ฆ„} pyenv uninstall django-envs
๊ฐ€์ƒ ํ™˜๊ฒฝ global ์ ์šฉ pyenv global {*๊ฐ€์ƒ ํ™˜๊ฒฝ ์ด๋ฆ„}
* ๋˜๋Š” ์„ค์น˜๋œ ํŒŒ์ด์ฌ ๋ฒ„์ „
pyenv global 3.9.10
๊ฐ€์ƒํ™˜๊ฒฝ local ์ ์šฉ ์›ํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™
โžก๏ธ pyenv local {๊ฐ€์ƒ ํ™˜๊ฒฝ ์ด๋ฆ„}
cd django 
pyenv local django-envs
ํŒŒ์ด์ฌ ํŒจํ‚ค์ง€ ์„ค์น˜
pip install {ํŒจํ‚ค์ง€๋ช…} pip install django==2.2
ํŒจํ‚ค์ง€ ๋ฒ„์ „ ํ™•์ธ django-admin --version django-admin --version
django ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ django-admin startproject {ํ”„๋กœ์ ํŠธ ์ด๋ฆ„} django-admin startproject dona
django ๊ฐœ๋ฐœ ์„œ๋ฒ„ ์‹คํ–‰ (ํ•ด๋‹น ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ํ•œ ํ›„)
โžก๏ธ python manage.py runserver
-
django ์•ฑ ์ƒ์„ฑ
python manage.py startapp {์ƒ์„ฑํ•  App ์ด๋ฆ„} python manage.py startapp dona
์„ค์น˜๋œ ํŒจํ‚ค์ง€ ๋ชฉ๋ก ํ™•์ธ pip list -
๊ฐ€์ƒ ํ™˜๊ฒฝ์— ์„ค์น˜๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ชฉ๋ก์œผ๋กœ ์ €์žฅ pip freeze > {file๋ช…}.txt pip freeze > requirements.txt
requirements file์— ์ €์žฅ๋œ ๋ชจ๋“  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ pip install -r {file๋ช…}.txt pip install -r requirements.txt

 


๐Ÿ” ์ฐธ๊ณ 

์•„๋ž˜ ์ด๋ฏธ์ง€์—์„œ django-envs์— ๋Œ€ํ•œ ๋ถ€๊ฐ€ ์„ค๋ช…

  • ์‹ฌ๋ณผ๋ฆญ๋งํฌ๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ์–ด๋–ค ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ์— ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ”ํƒ•ํ™”๋ฉด์— ๋งŒ๋“œ๋Š” '๋ฐ”๋กœ ๊ฐ€๊ธฐ'์™€ ๋น„์Šทํ•œ ๊ฐœ๋…
  • 3.9.10/envs/django-envs์˜ '๋ฐ”๋กœ๊ฐ€๊ธฐ'
  • ๊ฒฐ๊ตญ ๊ฐ™์€ ๊ฐ€์ƒํ™˜๊ฒฝ์„ ๊ฐ€๋ฅดํ‚ค๊ธฐ๋•Œ๋ฌธ์— ์–ด๋–ค ๊ฒƒ์„ ์ ์šฉํ•ด๋„ ์ƒ๊ด€ ์—†์Œ

python version list


๐Ÿ™ Reference