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

TIL/MacOS

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

python3 ๊นŒ์ง€ ์„ค์น˜๋ฅผ ์™„๋ฃŒํ•˜์˜€๋‹ค๋ฉด ๊ฐ€์ƒํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•ด๋ด…์‹œ๋‹ค.

์ €๋Š” ์ฒ˜์Œ ํ•  ๋•Œ ๋„ˆ๋ฌด ํ—ค๋งธ๊ธฐ ๋•Œ๋ฌธ์—... ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด์•˜์–ด์š”!

 

1. Virtualenv ์„ค์น˜

 

1) ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€ ๋‘ ๊ฐœ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ค์น˜๋ฅผ ํ•ด์ค์‹œ๋‹ค.

$pip3 install virtualenv virtualenvwrapper

 

2) ๊ฐ€์ƒํ™˜๊ฒฝ์„ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค.

$ virtualenv [๊ฐ€์ƒํ™˜๊ฒฝ์ด๋ฆ„]

 

3) ๊ฐ€์ƒํ™˜๊ฒฝ์— ์ง„์ž…ํ•ฉ๋‹ˆ๋‹ค

$ source [๊ฐ€์ƒํ™˜๊ฒฝ์ด๋ฆ„] /bin/activate

 

4) ๊ฐ€์ƒํ™˜๊ฒฝ์„ ๋ฒ—์–ด๋‚ฉ๋‹ˆ๋‹ค.

$ deactivate

 

 


 

2.VirtualenvWapper ์„ค์น˜

์ด ํŒจํ‚ค์ง€๋Š” virtualenv ํŒจํ‚ค์ง€์˜ ํ•œ๊ณ„๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„์ž…๋‹ˆ๋‹ค.

virtualenv๋Š” ์œ„์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๊ฐ€์ƒํ™˜๊ฒฝ์„ ๋งŒ๋“  ๋””๋ž™ํ† ๋ฆฌ๋กœ ์ด๋™ํ•ด์•ผํ•˜๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์•ž์œผ๋กœ ๋งŽ์€ ๊ฐ€์ƒํ™˜๊ฒฝ์„ ๋งŒ๋“คํ…๋ฐ, ๊ฐ๊ฐ์˜ ๊ฐ€์ƒํ™˜๊ฒฝ์˜ ๊ฒฝ๋กœ๊ฐ€ ์–ด๋””์— ์žˆ๋Š” ์ง€ ์ผ์ผ์ด ๊ธฐ์–ตํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด VirtualenvWapper๊ฐ€ ์กด์žฌ!

 

1) ๊ฐ€์ƒํ™˜๊ฒฝ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์„ค์ •ํ•ด์ค๋‹ˆ๋‹ค.

$ mkdir ~/.virtualenvs

 

2) ๊ทธ ๋‹ค์Œ์€ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •!

ํ„ฐ๋ฏธ๋„์—์„œ vi ~/.bash_profile ๋กœ ํŒŒ์ผ์— ๋“ค์–ด๊ฐ€์‹  ํ›„, ๋‹ค์Œ์„ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”.

์ž…๋ ฅํ•˜์‹œ๊ธฐ ์œ„ํ•ด์„œ๋Š” esc + i ํ•˜์‹œ๋ฉด ์ž…๋ ฅ๋ชจ๋“œ๋กœ ๋ฐ”๋€๋‹ˆ๋‹ค. 

$ export WORKON_HOME=~/.virtualenvs
$ export VIRTUALENVWRAPPER_PYTHON='ํŒŒ์ด์ฌ3์˜ ๊ฒฝ๋กœ'
$ source /usr/local/bin/virtualenvwrapper.sh

'ํŒŒ์ด์ฌ3์˜ ๊ฒฝ๋กœ' ๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ„ฐ๋ฏธ๋„์— which python3 ๋ผ๊ณ  ์ž…๋ ฅํ•˜์‹œ๊ณ  ์ถœ๋ ฅ๋œ ๊ฐ’์„ ๋ณต๋ถ™ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค์•„

์ž…๋ ฅ ํ›„, ์ €์žฅ์„ ์œ„ํ•ด์„œ๋Š” esc, :wq ํ•˜์‹œ๋ฉด ์ €์žฅ ํ›„ ํŒŒ์ผ์„ ๋น ์ ธ๋‚˜์˜ต๋‹ˆ๋‹ค.

 

 

3)์„ค์ •์™„๋ฃŒ/์žฌ๋กœ๋“œ

source ~/.bash_profile

 

 


3. ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด ์ •๋ฆฌ

#1

$ mkvirtualenv [๊ฐ€์ƒํ™˜๊ฒฝ์ด๋ฆ„]

๊ฐ€์ƒํ™˜๊ฒฝ์ด๋ฆ„์œผ๋กœ ๊ฐ€์ƒํ™˜๊ฒฝ์„ ๋งŒ๋“ค์–ด์ค€๋‹ค. mkvirtualenv test -p [python-path]๋กœ python ๋ฒ„์ „์„ ์ง€์ •ํ•ด ์ค„ ์ˆ˜ ์žˆ๋‹ค.

 

#2

$ rmvirtualenv [๊ฐ€์ƒํ™˜๊ฒฝ์ด๋ฆ„]

ํ•ด๋‹น ๊ฐ€์ƒํ™˜๊ฒฝ ์‚ญ์ œ

 

#3

$ workon [๊ฐ€์ƒํ™˜๊ฒฝ์ด๋ฆ„]

ํ•ด๋‹น ๊ฐ€์ƒํ™˜๊ฒฝ์„ ์‚ฌ์šฉ

 

#4

$ setvirtualenvproject

๊ฐ€์ƒํ™˜๊ฒฝ ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ ์„ค์ •ํ•˜๊ธฐ(workon ์ง„์ž… ํ›„)

 

#5

$lsvirtualenv

๊ฐ€์ƒํ™˜๊ฒฝ ๋ฆฌ์ŠคํŠธ!

 

#6

$ cdproject

ํ˜„์žฌ ์–ด๋””์— ์žˆ๋“  ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™(workon ์ง„์ž… ํ›„)

 

#7

$deactivate

๊ฐ€์ƒํ™˜๊ฒฝ ๋ฒ—์–ด๋‚˜๊ธฐ