2019년 1월 24일 목요일

virtualenvwrapper - python virtualenv 개발 환경

python virtualenv


독립된 python 환경을 만들고 activate / deactivate 과정으로 특정 환경으로 설정 및 해제

예)

$ virtualenv env
$ source env/bin/activate
(env) $ which python
~/env/bin/python
$ deactivate

virtualenvwrapper


원하는 virtualenv 환경으로 activate 와 deactivate 수행을 대신하여 emacs 종료 없이 virtualenv 를 바꿔가면서 작업할 수 있음

설치


Emacs package manager 이용


예)
M-x package-install RET virtualenvwrapper RET

설정


예)

(require 'virtualenvwrapper)
(venv-initialize-interactive-shells)
(venv-initialize-eshell)

(setq venv-location "/home/tj/env/")


필자의 경우 virtualenv 환경을 여럿 사용하고 있고 /home/tj/env 폴더에 여러 환경 폴더를 생성해서 사용하고 있기 때문에 여러 virtualenv 환경들이 있는 폴더를 지정하게 되면 virtualenvwrapper 가 해당 폴더 내에서 환경을 탐색해서 설정해 준다

virtualenv 환경 선택


예)

/home/tj/env/ 에 아래와 같이 virtualenv 환경 파일들을 생성했다면

~/env $ virtualenv --system-site-packages -p python2 python2
Running virtualenv with interpreter /usr/bin/python2
New python executable in /home/tj/env/python2/bin/python2
Also creating executable in /home/tj/env/python2/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
~/env $ virtualenv --system-site-packages -p python3 python3
Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/tj/env/python3/bin/python3
Also creating executable in /home/tj/env/python3/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.




python2 환경으로 설정


M-x venv-workon RET python2 RET


eshell 에서 확인


M-x eshell RET
$ which python
/home/tj/env/python2/bin/python


python3 환경으로 설정


M-x venv-workon RET python3 RET
$ which python
/home/tj/env/python3/bin/python


설정 해제


M-x venv-deactivate RET



댓글 없음:

댓글 쓰기