λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

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

κ°€μƒν™˜κ²½ λ²—μ–΄λ‚˜κΈ°