1) 사전에 virtualenv 는 설치되어 있어야 한다.
- sudo pip install virtualenv
2) 상황
- 개발서버에 hotfix로 작업된 소스를 테스트 한후 hotfix를 종료 하려고 한다.
- 해당 버전에는 필요한 파이썬패키지가 추가 / 버전이 변경되어, 환경이 별도로 분리되어야 한다.
그럼 시작!
3) hotfix 버전을 구성할 디렉터리를 생성 한후 git에서 소스를 내려받는다.
- hotfix라는 이름의 환경을 만든다.
- system-site-packages : 옵션은 파이썬 기본 실행환경에 있는 라이브러리를 사용한다는 의미이다.
- no-site-packages: 옵션은 파이썬 기본 실행환경에 있는 라이브러리를 쓰지 않겠다는 의미다.
[test@server7:~/test/docs-web-admin]0 $ mkdir hotfix
[test@server7:~/test/docs-web-admin]0 $ cd hotfix/
[test@server7:~/test/docs-web-admin/hotfix]0 $ ll
합계 8
drwxr-xr-x 2 test users 4096 2014-12-26 15:12 .
drwxr-xr-x 4 test users 4096 2014-12-26 15:12 ..
[test@server7:~/test/docs-web-admin/hotfix]0 $ virtualenv --system-site-packages
- sudo pip install virtualenv
2) 상황
- 개발서버에 hotfix로 작업된 소스를 테스트 한후 hotfix를 종료 하려고 한다.
- 해당 버전에는 필요한 파이썬패키지가 추가 / 버전이 변경되어, 환경이 별도로 분리되어야 한다.
그럼 시작!
3) hotfix 버전을 구성할 디렉터리를 생성 한후 git에서 소스를 내려받는다.
- hotfix라는 이름의 환경을 만든다.
- system-site-packages : 옵션은 파이썬 기본 실행환경에 있는 라이브러리를 사용한다는 의미이다.
- no-site-packages: 옵션은 파이썬 기본 실행환경에 있는 라이브러리를 쓰지 않겠다는 의미다.
[test@server7:~/test/docs-web-admin]0 $ mkdir hotfix
[test@server7:~/test/docs-web-admin]0 $ cd hotfix/
[test@server7:~/test/docs-web-admin/hotfix]0 $ ll
합계 8
drwxr-xr-x 2 test users 4096 2014-12-26 15:12 .
drwxr-xr-x 4 test users 4096 2014-12-26 15:12 ..
[test@server7:~/test/docs-web-admin/hotfix]0 $ virtualenv --system-site-packages
hotfix
New python executable in hotfix/bin/python
Installing Setuptools..............................................................................................................................................................................................................................done.
Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
[test@server7:~/test/docs-web-admin/hotfix]0 $ cd hotfix/
[test@server7:~/test/docs-web-admin/hotfix/hotfix]0 $ ll
합계 20
drwxr-xr-x 5 test users 4096 2014-12-26 15:12 .
drwxr-xr-x 3 test users 4096 2014-12-26 15:12 ..
drwxr-xr-x 2 test users 4096 2014-12-26 15:12 bin
drwxr-xr-x 2 test users 4096 2014-12-26 15:12 include
drwxr-xr-x 3 test users 4096 2014-12-26 15:12 lib
[test@server7:~/test/docs-web-admin/hotfix/hotfix]0 $ git clone git@github.blabla.com:rhr/docs.git
4) virtualevn 를 activate한다.
- activate 하면, 쉘프롬프트에 표시가 보여, 가상환경 안에 있음을 알수 있다.
[test@server7:~/test/docs-web-admin/hotfix/hotfix]0 $
Installing Setuptools..............................................................................................................................................................................................................................done.
Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
[test@server7:~/test/docs-web-admin/hotfix]0 $ cd hotfix/
[test@server7:~/test/docs-web-admin/hotfix/hotfix]0 $ ll
합계 20
drwxr-xr-x 5 test users 4096 2014-12-26 15:12 .
drwxr-xr-x 3 test users 4096 2014-12-26 15:12 ..
drwxr-xr-x 2 test users 4096 2014-12-26 15:12 bin
drwxr-xr-x 2 test users 4096 2014-12-26 15:12 include
drwxr-xr-x 3 test users 4096 2014-12-26 15:12 lib
[test@server7:~/test/docs-web-admin/hotfix/hotfix]0 $ git clone git@github.blabla.com:rhr/docs.git
4) virtualevn 를 activate한다.
- activate 하면, 쉘프롬프트에 표시가 보여, 가상환경 안에 있음을 알수 있다.
[test@server7:~/test/docs-web-admin/hotfix/hotfix]0 $
. bin/activate
(hotfix)[test@server7:~/test/docs-web-admin/hotfix/hotfix]0 $ ll
합계 24
drwxr-xr-x 6 test users 4096 2014-12-26 15:13 .
drwxr-xr-x 3 test users 4096 2014-12-26 15:12 ..
drwxr-xr-x 2 test users 4096 2014-12-26 15:12 bin
drwxr-xr-x 2 test users 4096 2014-12-26 15:12 include
drwxr-xr-x 3 test users 4096 2014-12-26 15:12 lib
drwxr-xr-x 9 test users 4096 2014-12-26 15:13 rhr
5) pip를 통해 requriement.txt를 설치 한다. (requeirement.ttxt에는 필요한 패키지들을 명시해놓는다.)
(hotfix)[test@server7:~/test/docs-web-admin/hotfix/hotfix]$ pip install --upgrade -r requirements.txt
6) (4)에서 virtualenv를 = virtual python env builder. 로컬에 다앙햔 파이썬 환경을 구축하고 사용할 수 있도록 한다. virtualevn를 activate했으므로, 패키지들에 대한 의존성을 해결할 수 있다.
참고주소
- http://pythoninreal.blogspot.kr/2013/12/virtualenv.html
- https://blog.ansuchan.com/how-to-set-python-dev-env/
합계 24
drwxr-xr-x 6 test users 4096 2014-12-26 15:13 .
drwxr-xr-x 3 test users 4096 2014-12-26 15:12 ..
drwxr-xr-x 2 test users 4096 2014-12-26 15:12 bin
drwxr-xr-x 2 test users 4096 2014-12-26 15:12 include
drwxr-xr-x 3 test users 4096 2014-12-26 15:12 lib
drwxr-xr-x 9 test users 4096 2014-12-26 15:13 rhr
5) pip를 통해 requriement.txt를 설치 한다. (requeirement.ttxt에는 필요한 패키지들을 명시해놓는다.)
(hotfix)[test@server7:~/test/docs-web-admin/hotfix/hotfix]$ pip install --upgrade -r requirements.txt
6) (4)에서 virtualenv를 = virtual python env builder. 로컬에 다앙햔 파이썬 환경을 구축하고 사용할 수 있도록 한다. virtualevn를 activate했으므로, 패키지들에 대한 의존성을 해결할 수 있다.
참고주소
- http://pythoninreal.blogspot.kr/2013/12/virtualenv.html
- https://blog.ansuchan.com/how-to-set-python-dev-env/
'파이썬' 카테고리의 다른 글
파이썬 simple Abcstract factory pattern example (0) | 2015.11.10 |
---|---|
http requests (0) | 2015.11.10 |
flask request.form.getList (0) | 2015.11.10 |
파이썬 @staticmethod @classmethod 그리고 일반메소드 (0) | 2015.11.10 |
파이썬 unittest (0) | 2015.11.10 |