본문 바로가기
Programming/python

[Python] 배포를 쉽게 도와주는 freeze

by 유주원 2015. 2. 28.

기존에 환경에서 다른 환경으로 서버를 이전할때, 기존에 깔려 있는 패키지나 모듈등을 일일이 찾아서 다시 설치하기에는

너무나 번거롭다.

python에서는 freeze란 기능이 있어서 해당 기능을 사용하면 현재 서버에 깔려 있는 python 모듈들에 대한 목록을 

뽑아내 준다.

이전할 서버에서는 뽑혀진 목록들을 가지고 install만 실행하면 되니 무척이나 편리한 기능이라 할 수 있다.


실제 사용방법을 보자면,


$> pip freeze > pip-requirements.txt   


라고 치면 freeze를 통해 현재 서버에 설치되어 있는 python 모듈의 목록이 pip-requirements.txt에 저장이 된다.


pip-requirements.txt


BeautifulSoup==3.2.1

Flask=0.10.1

Jinja2==2.7.3


vi로 pip-requirements.txt를 열어 보면 위와 같이 모듈 리스트와 버전이 명시되어 있는 것을 확인할 수 있다.


이제 이전할 다른 서버에 기존 환경을 그대로 설치해보자.

아래와 같이 한줄만 입력하면 기존 환경에 설치되었던 패키지를 그대로 설치할 수 있다.


$> pip install pip-requirements.txt


위와 같이 입력하면 아까 본 패키지 목록들(BeautifulSoup, Flask, Jinja2)이 그대로 새로운 서버에 설치된다.