๐Ÿ”ฅTIL#1. ๊ฐ€์ƒํ™˜๊ฒฝ ์„ค์น˜

๋ฐฑ์Šน์ง„ยท2020๋…„ 10์›” 28์ผ
0

wecode Django ์‹ค์Šต

๋ชฉ๋ก ๋ณด๊ธฐ
1/16

Django์„ค์น˜ ๋ฐ ๊ฐœ๋ฐœ์— ์•ž์„œ ๋‹ค์Œ์˜ ๋ฌธ์ œ์— ์ฃผ๋ชฉํ•˜์ž.

ํ˜„์—…์—์„  ๊ฐœ๋ฐœํ•˜๊ณ ์ž ํ•˜๋Š” ํ”„๋กœ์ ํŠธ์˜ ํŠน์„ฑ์— ๋”ฐ๋ผ ์„ ํƒ์ ์œผ๋กœ WEB Framework๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋งŒ์•ฝ ๊ฐœ๋ฐœํ™˜๊ฒฝ์—์„œ ํ•„์š”์— ์˜ํ•ด ์—ฌ๋Ÿฌ Framework ๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๋˜ ๊ทธ์— ์˜์กดํ•˜๋Š” python package๋ฅผ ์„ค์น˜ํ•œ๋‹ค๋ฉด ์ž์นซ ๊ฐœ๋ฐœ๊ณผ์ •์—์„œ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
๊ฐ€๋ น Django ๊ธฐ๋ฐ˜ project ๋‘ ๊ฐœ๋ฅผ ๋™์‹œ์— ์ง„ํ–‰ํ•œ๋‹ค๊ณ  ํ•˜์ž. ๋‘ project๊ฐ€ ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” package๊ฐ€ ์žˆ๋Š”๋ฐ ํŠน์ˆ˜์„ฑ์œผ๋กœ ์ธํ•ด ์„œ๋กœ ๋‹ค๋ฅธ ๋ฒ„์ „์„ ์จ์•ผ๋งŒ ํ•œ๋‹ค๋ฉด? ๊ทธ ํŒจํ‚ค์ง€๋ฅผ ๋‘ ๋ฒ„์ „์„ ๋ชจ๋‘ ์„ค์น˜ํ•  ์ˆ˜ ์—†๋‹ค๋ฉด?

์ด ๋ฌธ์ œ๋ฅผ ํ•ด์†Œํ•˜๊ธฐ ์œ„ํ•ด ํ˜„์—…์—์„  project๋‹น ๊ฐ€์ƒํ™˜๊ฒฝ์„ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•  python ๋ฒ„์ „์ด๋‚˜ python package๋ฅผ project๊ฐ„ ๋ถ„๋ฆฌ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ์‹œ๋ฆฌ์ฆˆ์—์„  ๋ช‡ ๊ฐ€์ง€ ๊ฐ€์ƒํ™˜๊ฒฝ ์†”๋ฃจ์…˜ ์ค‘ "miniconda"๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋‹ค.

1. miniconda ์„ค์น˜ ๋ฐ ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ

1. ์•„๋‚˜์ฝ˜๋‹ค ์‚ฌ์ดํŠธ๋ฅผ ๋ฐฉ๋ฌธํ•˜์—ฌ miniconda๋ฅผ ์ง์ ‘ ๋‹ค์šด๋กœ๋“œ ๋˜๋Š” wget ์‚ฌ์šฉ

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

2. Terminal๋กœ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ ๊ฒฝ๋กœ๋กœ ์ด๋™, ์•„๋ž˜ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ ๊ถŒํ•œ ๋ณ€๊ฒฝ

chmod -R 755 Miniconda3-latest-Linux-x86_64.sh

3. ์„ค์น˜ ์‹คํ–‰

./Miniconda3-latest-Linux-x86_64.sh

4. ์„ค์น˜ ๊ณผ์ •์ด ๋๋‚˜๋ฉด ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰, ๋ณธ์ธ์˜ Terminal shell ํ™˜๊ฒฝ์—(์—ฌ๊ธฐ์„  bash) conda ์ดˆ๊ธฐ๊ณผ์ •์„ ๋ฐ˜์˜ํ•œ๋‹ค. (home์— ์žˆ๋Š” shell ํŒŒ์ผ์€ shell ์‹คํ–‰์‹œ ์ดˆ๊ธฐ๋ฐ˜์˜ํ•  ๋‚ด์šฉ์„ ์„ ์–ธํ•ด๋†“๋Š” ๊ณต๊ฐ„์ด๋‹ค)

./conda init bash

๊ทธ๋ฆฌ๊ณ  ๋ฐ”๋กœ shell ๋ฐ˜์˜์„ ์œ„ํ•ด ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.

source ~/.bashrc

terminal์˜ ์ž…๋ ฅ๋ž€ ์•ž์— "(base)"๊ฐ€ ๋ณด์ด๋ฉด conda๋ฅผ ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋œ ๊ฒƒ์ด๋‹ค.

5. ๊ฐ€์ƒํ™˜๊ฒฝ ์ •๋ณด ๋ณด๊ธฐ


์„ค์น˜์‹œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์žˆ๋Š” base ๋งŒ ์กด์žฌํ•œ๋‹ค. ์œ„์˜ "test"๋Š” ๊ฐ€์ƒํ™˜๊ฒฝ์„ ์ถ”๊ฐ€ํ•ด์„œ ๋‚˜์˜ค๋Š” ๊ฒƒ์œผ๋กœ ๋ฐ‘์—์„œ ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ์—์„œ ๋‹ค๋ฃฌ๋‹ค.

6. ๊ฐ€์ƒํ™˜๊ฒฝ ๋งŒ๋“ค๊ธฐ

conda create -n "๊ฐ€์ƒํ™˜๊ฒฝ์ด๋ฆ„" python=๋ฒ„์ „์ •๋ณด

(๋‚˜๋Š” ๊ฐ€์ƒํ™˜๊ฒฝ์œผ๋กœ "test"๋ฅผ python 3.8 ๋ฒ„์ „์œผ๋กœ ์ƒ์„ฑํ•˜์—ฌ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ํ™˜๊ฒฝ์ด ๊ตฌ์„ฑ๋˜์—ˆ๋‹ค.)

7. ์ƒ์„ฑํ•œ ๊ฐ€์ƒํ™˜๊ฒฝ ํ™œ์„ฑํ™”


conda activate "๊ฐ€์ƒํ™˜๊ฒฝ์ด๋ฆ„"

์‹คํ–‰ ํ›„ ์ž…๋ ฅ๋ถ€๋ถ„์•ž์— Header๊ฐ€ (๊ฐ€์ƒํ™˜๊ฒฝ์ด๋ฆ„)์œผ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์œผ๋ฉด ์ •์ƒ ๋ฐ˜์˜ ๋œ ๊ฒƒ์ด๋‹ค.

์ด๋ ‡๊ฒŒ ๊ฐ€์ƒํ™˜๊ฒฝ ์ค€๋น„๊ฐ€ ๋๋‚ฌ๋‹ค. ์•ž์œผ๋กœ ์ง„ํ–‰ํ•  Django project๋Š” ํ™œ์„ฑํ™”๋œ ๊ฐ€์ƒํ™˜๊ฒฝ์—์„œ ์ง„ํ–‰๋  ๊ฒƒ์ด๋‹ค.

2. ๊ฐ€์ƒํ™˜๊ฒฝ์— ๋Œ€ํ•œ ๋น„ํ™œ์„ฑํ™”, ์ œ๊ฑฐ

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

conda deactivate

2. ๊ฐ€์ƒํ™˜๊ฒฝ ์‚ญ์ œ

conda env remove -n "๊ฐ€์ƒํ™˜๊ฒฝ์ด๋ฆ„"

3. Export ํ•˜๊ธฐ

conda env export> "๊ฐ€์ƒํ™˜๊ฒฝ์ด๋ฆ„.yaml"

4. Import ํ•˜๊ธฐ

conda env create -f "๊ฐ€์ƒํ™˜๊ฒฝ์ด๋ฆ„.yaml"

๊ฐ€๊ธ‰์ ์ด๋ฉด ๊ฐ€์ƒํ™˜๊ฒฝ์ด๋ฆ„์€ Project๋ช…๊ณผ ๋™์ผํ•˜๊ฒŒ ํ•˜๋Š”๊ฒƒ์ด ์ข‹๋‹ค.

profile
12๋…„ .NET ๊ฐœ๋ฐœ ๊ฒฝ๋ ฅ์„ ๊ฐ€์ง„ ์›น ์ดˆ์งœ ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค :)

0๊ฐœ์˜ ๋Œ“๊ธ€