2013년 7월 29일 월요일
[Python] virtualenv로 python을 위한 sandbox 만들기
sandbox라고 표현하는게 맞는지는 모르겠지만 느낌은 sandbox다.
파이썬 모듈을 설치할 때 대부분의 사람들은 pip와 easy_install 과 같은 프로그램을 사용해
간편하게 설치하지만 동일 이름의 다른 모듈이 존재할 때 모듈이 꼬이는 귀찮은 상황이 발생할 수 있다.
virtualenv를 사용하면 현재 시스템에 설치된 python 모듈을 사용하지 않고고 독립적인 공간에서
virtualenv 설정이 된 폴더에 따로 python 모듈이 설치되도록 한다.
예를 들면
carpedm20@HeXA:~/python/flaskr$ tree -d venv -L 3
venv
├── bin
├── include
│ └── python2.7 -> /usr/include/python2.7
├── lib
│ └── python2.7
│ ├── config -> /usr/lib/python2.7/config
│ ├── distutils
│ ├── encodings -> /usr/lib/python2.7/encodings
│ ├── lib-dynload -> /usr/lib/python2.7/lib-dynload
│ └── site-packages
└── local
├── bin -> /home/carpedm20/Python/flaskr/venv/bin
├── include -> /home/carpedm20/Python/flaskr/venv/include
└── lib -> /home/carpedm20/Python/flaskr/venv/lib
다음과 같이 flaskr 라는 폴더 안에 venv 폴더가 virtual 환경으로 설정이 되고,
그 안에 bin, lib, local 과 같은 시스템 폴더들이 생겨 라이브러리와 파이썬 바이너리가 저장이 된다.
설치법과 사용법은 아래와 같다
$ sudo apt-get install python-setuptools
$ sudo easy_install virtualenv
$ virtualenv --no-site-packages venv # --no-site-packages:현재 시스템의 site-package와 저의 지역 환경을 연결하지 않도록
$ echo "venv" >> .gitignore # git 사용시 virtual 환경이 push되는것을 막음
$ . venv/bin/activate # virtual 환경을 시작한다
$ pip install flask # 보통 다음과 같이 모듈을 설치하지만
$ pip install -r requirements.txt # 설치할 모듈 리스트가 있는 requirements.txt 파일이 있다면 다음과 같이 설치할 수 도 있다
$ pip freeze > requirements.txt # 현재 virtual 환경에 설치된 모듈들의 리스트를 requirements.txt에 저장
$ . venv/bin/deactivate # virtual 환경을 종료한다
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기