๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•œ Python ์„ค์น˜ - Virtualenv, autoenv

๋ฐ˜์‘ํ˜•

์ด๋ฒˆ์—” Python์„ ๊ฐ€์ƒ ํ™˜๊ฒฝ์—์„œ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…์‹œ๋‹ค.



์™œ Python์„ ๊ฐ€์ƒ ํ™˜๊ฒฝ์—์„œ ์„ค์น˜ํ•ด์•ผ ํ• ๊นŒ์š”?



Python์˜ ๋ฒ„์ „์€ ํ˜„์žฌ 2.7 ๋ฒ„์ „๊ณผ 3.x ๋ฒ„์ „์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์•„๋งˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์กฐ๊ธˆ ํ•ด๋ณด์‹  ๋ถ„๋“ค ์ค‘์— Java ๋ผ๋Š” ์–ธ์–ด๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋งŽ์ด ํ•ด๋ณด์‹  ๋ถ„๋“ค์ด๋ผ๋ฉด, ์ด๋Ÿฐ ๋ฒ„์ „์˜ ์ฐจ์ด์— ๊ต‰์žฅํžˆ ๋ฐ˜๊ฐ์„ ํ•˜๊ฑฐ๋‚˜ ๋ฏผ๊ฐํ•˜๊ฒŒ ๋ฐ˜์‘ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ๊ทธ ์ด์œ  ์ค‘์— ํ•˜๋‚˜๋Š” ๋ฐ”๋กœ ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋‹ค ๋ฐ˜๋“œ์‹œ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋Š” ๋ฐ”๋กœ "๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ"๋ผ๋Š” ๋…€์„ ๋•Œ๋ฌธ์ด์ฃ . ๋ฌผ๋ก  ๊ณต๊ฐœ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์€ ๋Œ€๋ถ€๋ถ„ ์ตœ์‹  ๋ฒ„์ „์— ๋งž์ถฐ ์ˆ˜์ •์ด ๋˜๊ธด ํ•˜์ง€๋งŒ, ์ž์‹ ์ด ๊ฐœ๋ฐœํ•˜๋Š” ํ”„๋กœ์ ํŠธ ๋‚ด์ง€ ํ”„๋กœ๊ทธ๋žจ์ด ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋งŒ ์“ฐ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋ฒ„์ „์„ ๋งž์ถ”๋ ค๋ฉด ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๊ณ ๋ คํ•ด์•ผ๋  ์‚ฌํ•ญ์ด ๋งŽ์•„์ง‘๋‹ˆ๋‹ค. 


Java์˜ ๊ฒฝ์šฐ, Java 7 ๋ฒ„์ „๊ณผ Java 8 ๋ฒ„์ „์„ ๋™์‹œ์— ์„ค์น˜ํ•ด์•ผํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์ƒ๊น๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์„ค์น˜์— ๋Œ€ํ•œ ๋ฒˆ๊ฑฐ๋กœ์›€์ด ๋์ด ์•„๋‹ˆ์ฃ . ์—ฌ๊ธฐ์— ์ž์‹ ์ด ์–ด๋–ค ๋ฒ„์ „์˜ Java๋ฅผ ์“ธ ๊ฒƒ์ธ์ง€ ๋ฌผ์–ด๋ณด์ง€๋„ ์•Š๊ณ , ๊ทธ๋ƒฅ ๊ฐ”๋‹ค๊ฐ€ ์ปดํŒŒ์ผ ํ•ด๋ฒ„๋ ค์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐ„์— ๋ฒ„์ „ ์ถฉ๋Œ์ด ์ผ์–ด๋‚˜๋Š” ์ผ์ด ์ƒ๊ธฐ๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ฐ„ ๋ถˆํŽธํ•œ ๊ฒƒ์ด ์•„๋‹ˆ์ฃ ..


๊ทธ๋ž˜์„œ Python์—๋Š” ์ด ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๋ถ„๋ฆฌ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๊ฐ€์ƒ ํ™˜๊ฒฝ์ด๋ผ๋Š” ๊ฒƒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆผ์œผ๋กœ ๋ณด๋ฉด, ํ˜„์žฌ ์—ฌ๋Ÿฌ๋ถ„ PC์— ํ˜„์žฌ Python์ด ์„ค์น˜๋˜์–ด ์žˆ๊ณ , ํ˜„์žฌ ์„ค์น˜๋œ Python์„ ๋‘ ๊ณต๊ฐ„์œผ๋กœ ๋ถ„๋ฆฌํ•ด์„œ ์œ„ ํ”„๋กœ์ ํŠธ๋Š” 2.7๋ฒ„์ „, ์•„๋ž˜ ํ”„๋กœ์ ํŠธ๋Š” 3.x ๋ฒ„์ „์œผ๋กœ ํ™˜๊ฒฝ์„ ๋‚˜๋ˆ„๊ฒŒ ๋˜๋ฉด ๋ฒ„์ „ ์ถฉ๋Œ ๋ฌธ์ œ๊ฐ€ ํ•ด์†Œ๋ฉ๋‹ˆ๋‹ค.


Python์„ ๊ฐ€์ƒ ํ™˜๊ฒฝ์œผ๋กœ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ์ง€๋งŒ, ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ๋ฐฉ๋ฒ•์€ Virtualenv, Anaconda, Docker  ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.


๊ทธ ์ค‘ ๊ฐ€์žฅ ์‰ฝ๊ณ  ํŽธํ•œ ๊ฒƒ์ด Virtualenv์ด๊ณ , Docker๋Š” ์ตœ๊ทผ์— ๋‚˜์˜จ ์ปจํ…Œ์ด๋„ˆ ํ˜•ํƒœ์˜ ํ™˜๊ฒฝ์ด๊ธฐ ๋•Œ๋ฌธ์— Python์˜ ๊ฐ€์ƒ ํ™˜๊ฒฝ ๋ฟ๋งŒ์ด ์•„๋‹ˆ๋ผ ์„œ๋ฒ„์˜ ๊ฐ€์ƒ ํ™˜๊ฒฝ์œผ๋กœ๋„ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜๋„ ์žˆ๊ณ , ๋งŒ์•ฝ ๊ฐœ๋ฐœํ•˜๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ์›น ์„œ๋ฒ„ ๋“ฑ์˜ ํ”„๋กœ์ ํŠธ๋ผ๋ฉด, Virtualenv๋ณด๋‹ค๋Š” Docker๊ฐ€ ๋” ์ข‹์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์ด ํฌ์ŠคํŠธ์—์„œ๋Š” ๊ฐ„๋‹จํžˆ Virtualenv๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.



Virtualenv ์„ค์น˜

Virtualenv์˜ ์„ค์น˜๋Š” pip๋กœ ๊ฐ„๋‹จํžˆ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


$ sudo pip install --upgrade virtualenv

Linux๋‚˜ OS X์˜ ๊ฒฝ์šฐ, sudo ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ virtualenv๋ฅผ ์„ค์น˜ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

ํ˜น์€ Ubuntu Repository์—์„œ๋„ ๋ฐ›์œผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


C:\> pip install --upgrade virtualenv

Windows๋Š” ๊ด€๋ฆฌ์ž ๋ช…๋ น์œผ๋กœ ๋ช…๋ น ํ”„๋กฌํฌํŠธ๋ฅผ ์—ด์–ด์ฃผ์‹œ๊ณ , ์œ„ ๋ช…๋ น์–ด๋ฅผ ํƒ€์ดํ•‘ ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.



๊ฐ€์ƒ ํ™˜๊ฒฝ ๊ตฌ์ถ•

์ด์ œ Virtualenv๋ฅผ ์„ค์น˜ํ–ˆ์œผ๋‹ˆ ์ด๋ฅผ ์ด์šฉํ•ด ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ์ง์ ‘ ๋งŒ๋“ค์–ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋งค์šฐ ์‰ฌ์šฐ๋‹ˆ, ๊ทธ๋ƒฅ ๋ณด๊ณ  ๋”ฐ๋ผํ•˜๊ธฐ๋งŒ ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.


$ mkdir CVProject

์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์›ํ•˜์‹œ๋Š” ๊ฒฝ๋กœ์— ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. Linux, OS X ์—์„œ๋Š” mkdir ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.


C:\Users\K.I.D> md CVProject

Windows๋Š” md ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. (์‚ฌ์‹ค Windows์—์„œ ๊ทธ๋ƒฅ ์ƒˆ ํด๋” ํ•˜๋‚˜ ๋งŒ๋“ ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค ^^;)


$ virtualenv -p ${PYTHON_VERSION} ${DIRECTORY}

virtualenv์˜ p ์˜ต์…˜์„ ์ด์šฉํ•ด์„œ ์›ํ•˜์‹œ๋Š” Python ๋ฒ„์ „์„ ์ž…๋ ฅํ•˜์‹œ๊ณ , ์œ„์—์„œ ๋งŒ๋“  ๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„์„ ์น˜๋ฉด, ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ์— Python ๊ฐ€์ƒ ํ™˜๊ฒฝ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

ex) Python 2.x ๋ฒ„์ „์€ ๊ทธ๋ƒฅ Python, Python 3.x ๋ฒ„์ „์€ Python3 ๋ผ๊ณ  ์ž…๋ ฅ.




๊ฐ€์ƒ ํ™˜๊ฒฝ ์‹คํ–‰

์ด์ œ ๊ตฌ์ถ•์„ ํ•ด๋ดค์œผ๋‹ˆ ๊ฐ€์ƒ ํ™˜๊ฒฝ์ด ์ œ๋Œ€๋กœ ์‹คํ–‰๋˜๋Š”์ง€ ํ™•์ธํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


$ source CVProject/bin/activate.sh

Linux, OS X๋Š” ์œ„ ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.


C:\Users\K.I.D> CVProject\Scripts\activate

Windows๋Š” Scripts ํด๋”์— ์‹คํ–‰ ํŒŒ์ผ์ด ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ ธ ์žˆ์œผ๋ฏ€๋กœ ์ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.


(CVProject) $ python --version

๊ทธ๋Ÿผ ์ด์ œ๋Š” ์‰˜ ์•ž์— ์ž์‹ ์˜ ํ”„๋กœ์ ํŠธ ํด๋”๋ช…์ด ์•ž์— ๋ณด์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.


CVProject) C:\Users\K.I.D> python --version

Windows๋Š” ์œ„์™€ ๊ฐ™์ด ๋ณด์ž…๋‹ˆ๋‹ค.


python --version ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด, ์ž์‹ ์ด ์›ํ•˜๋Š” Python์˜ ๋ฒ„์ „์œผ๋กœ ๊ตฌ์ถ•์ด ๋˜์—ˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.


$ whereis python

Linux์—์„œ whereis ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด python์˜ PATH๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์— ์ž์‹ ์˜ ๊ฐ€์ƒ ํ™˜๊ฒฝ ๊ฒฝ๋กœ๊ฐ€ ํ‘œ์‹œ๋จ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.



๊ฐ์ข… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ์˜ ์„ค์น˜๋Š” ๋ฐ˜๋“œ์‹œ (${๊ฐ€์ƒํ™˜๊ฒฝ ์ด๋ฆ„})์ด ๋‚˜์˜จ ์ƒํƒœ์—์„œ ์ง„ํ–‰ํ•˜์…”์•ผ๋งŒ ๊ฐ€์ƒ ํ™˜๊ฒฝ์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์€ ์ƒํƒœ์—์„œ๋Š” ์‹œ์Šคํ…œ์— ์„ค์น˜๋˜๋ฏ€๋กœ ๋ฐ˜๋“œ์‹œ ํ™•์ธ๋ฐ”๋ž๋‹ˆ๋‹ค.



autoenv ์‚ฌ์šฉ (Linux, OS X only)

virtualenv๋ฅผ ์‚ฌ์šฉํ•˜๋ คํ•˜๋‹ˆ ์ผ์ผ์ด source ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ๋งค์šฐ ๋ฒˆ๊ฑฐ๋กญ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๊ณ  ํ„ฐ๋ฏธ๋„์ด๋‚˜ ์‰˜์„ ๋„์šธ ๋•Œ๋งˆ๋‹ค ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ์‹คํ–‰ํ•˜์ž๋‹ˆ ๊ทธ๊ฒƒ๋„ ๋ฌธ์ œ์ด์ง€์š”?


๊ทธ๋ž˜์„œ autoenv๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค.


$ sudo pip install --upgrade autoenv

autoenv๋Š” kennethreitz๋‹˜์ด ๊ฐœ๋ฐœํ•˜์‹  ์ฝ”๋“œ๋กœ virtualenv ๋””๋ ‰ํ† ๋ฆฌ์— ์ ‘๊ทผํ•˜๋ฉด ์ž๋™์œผ๋กœ ์›ํ•˜๋Š” ์ปค๋งจ๋“œ๋ฅผ ์ž…๋ ฅํ•˜๊ฒŒ ํ•˜๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.


์ž‘๋™ ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.


์‚ฌ์‹ค ์ปค๋งจ๋“œ ์‹คํ–‰์ด ๋งž๋Š” ํ‘œํ˜„์ด๊ฒ ์ง€๋งŒ, ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ์€ Virtualenv ์‹คํ–‰์ด ๋ชฉ์ ์ด๊ธฐ ๋•Œ๋ฌธ์—, ๊ทธ๋ ‡๊ฒŒ ์ ์—ˆ์Šต๋‹ˆ๋‹ค ^^;

์ด์ œ ์‹คํ–‰ ๋ฐฉ์‹์„ ์•Œ์•˜์œผ๋‹ˆ ์ž์‹ ์˜ virtualenv ๊ณต๊ฐ„์— .env ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด๋ด…์‹œ๋‹ค.


$ vim .env

vim ํ˜น์€ nano, emacs ๊ฐ™์€ ์—๋””ํ„ฐ๋ฅผ ์ด์šฉํ•ด .env ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.


source ~/CVProject/bin/activate

๊ฐ„๋‹จํ•˜๊ฒŒ virtualenv๋งŒ ์‹คํ–‰์‹œํ‚ค๋Š” ์ปค๋งจ๋“œ๋ฅผ ์ ์—ˆ์Šต๋‹ˆ๋‹ค.


source ~/CVProject/bin/activate
clear
echo ''
echo ' I'm CVProject'
echo ' enjoy Coding!'
echo ''
echo '           Created by. Neon K.I.D'
echo ''

๊ณ ๊ธ‰๋œ ๋ฐฉ๋ฒ•(?)์œผ๋กœ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜์‹ค ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ์ด์ œ, ํ„ฐ๋ฏธ๋„๊ณผ ์‰˜์„ ์ƒˆ๋กœ ์‹คํ–‰์‹œ์ผœ, CVProject ํด๋”์— ๋“ค์–ด๊ฐ€๋ฉด..


$ cd CVProject

Virtualenv ํ™˜๊ฒฝ์— ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


"๊ทธ๋Ÿฐ๋ฐ, ์•„ ๋‚˜๋Š” ์ด๊ฒƒ๋„ ๋ถˆํŽธํ•ด, ๊ฐ„๋‹จํ•œ ๋ช…๋ น์–ด๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—†์„๊นŒ?"


๊ทธ๋Ÿฌ์‹œ๋Š” ๋ถ„๋“ค์€, alias๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์œผ๋‹ˆ, ํ•ด๋‹น ๋ฐฉ๋ฒ•์„ ์จ๋ณด๋Š” ๊ฒƒ๋„ ๋‚˜์˜์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค.


$ alias cv='cd CVProject'

์ €๋Š” ๊ฐ„๋‹จํžˆ ์ƒ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ๋„ฃ์—ˆ์ง€๋งŒ ์›๋ž˜ alias๋ฅผ ํ•˜์‹ค ๋•Œ๋Š” ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ํ•˜์…”์•ผ ๋ฉ๋‹ˆ๋‹ค ^^;

๋ช…๋ น์–ด๊ฐ€ ์ž˜ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ–ˆ์œผ๋ฉด, ์ด์ œ ํ”„๋กœํ•„์— ๋„ฃ์–ด์ฃผ๋ฉด ๋˜๊ฒ ์ฃ ?


$ vim .bashrc

bashrc ํŒŒ์ผ์„ ๋กœ๋“œํ•˜๊ณ , alias ๋ถ€๊ทผ์ด๋‚˜ ์•„๋ฌด ๊ตฐ๋ฐ์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.


alias cv='cd CVProject'

์ถ”๊ฐ€ํ•˜๊ณ  ์ €์žฅ ํ•œ ๋’ค, ์ƒˆ๋กœ์šด ์‰˜์ด๋‚˜ ํ„ฐ๋ฏธ๋„์„ ์‹คํ–‰ํ•˜๊ณ , cv ๋ช…๋ น์–ด๋งŒ ์ž…๋ ฅํ•˜๋ฉด ์ž๋™์œผ๋กœ ๊ฐ€์ƒ ํ™˜๊ฒฝ์— ๋“ค์–ด๊ฐ€์ง‘๋‹ˆ๋‹ค. 



๋งˆ์น˜๋ฉฐ... 

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


Python์˜ ๊ฐ€์ƒ ํ™˜๊ฒฝ์€ ๊ทธ๋งŒํผ์˜ ๋ฉ”๋ฆฌํŠธ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. (์–ธ์–ด์˜ ์‚ฌ์šฉ๋„ ๊ทธ๋งŒํผ ๋ฉ”๋ฆฌํŠธ๊ฐ€ ์žˆ์—ˆ์œผ๋ฉด.... (?) ) Java์—๋„ ๊ฐœ์ธ์ ์œผ๋กœ ์ด๋Ÿฐ ํ™˜๊ฒฝ์ด ๋‚˜์˜ค๊ธฐ๋ฅผ ์›ํ•˜์ง€๋งŒ, ๊ทธ ํ™˜๊ฒฝ์„ Docker๊ฐ€ ๊ทธ๋‚˜๋งˆ ๋ฉ”๊ฟ”์ฃผ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฐธ Docker ์ •๋ง ์ข‹์Šต๋‹ˆ๋‹ค ^^


์—ฌ๊ธฐ๊นŒ์ง€ Virtualenv๋ฅผ ์ด์šฉํ•œ Python ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•์ด์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•
TAGS.

Tistory Comments