파이썬 - 배포를 쉽게 해주는 freeze 사용법 _ 패키지 복붙

devmin·2020년 2월 20일
1

현재 가상환경을 하나 만들어서 파이썬 프로젝트를 진행하고 있다고 해보자. 프로젝트를 하다보니 필요한 패키지가 많아서 장고도 깔고, 비클립트도 깔고 JWT도 깔고... 이것저것 다 깔았다.

그런데 프로젝트를 나 혼자하는게 아니다보니 똑같은 환경에서 동료도 작업을 진행해야하는데, 이 패키지들을 하나하나 다 설치하라고 하면 너무 번거로울 것만 같다.

이때 우리는 pip freeze라는 명령어를 활용해 이 모든 과정을 한 번에 처리할 수 있다.

pip freeze라는 명령어는 현재 작업 환경(가상환경)에 설치되어있는 패키지의 리스트를 모두 출력해준다. 필자 같은 경우는 아래의 패키지들이 설치가 되어있다.


>>> pip freeze
asgiref==3.2.3
bcrypt==3.1.7
beautifulsoup4==4.8.2
bs4==0.0.1
certifi==2019.11.28
cffi==1.14.0
chardet==3.0.4
Django==3.0.3
django-cors-headers==3.2.1
idna==2.8
mysqlclient==1.4.6
powerline-shell==0.7.0
pycparser==2.19
PyJWT==1.7.1
pytz==2019.3
requests==2.22.0
six==1.14.0
soupsieve==1.9.5
sqlparse==0.3.0
urllib3==1.25.8

설치되어있는건 봤고, 이제 이 목록을 다른 프로젝트 환경으로 옮기는 법을 알아보자. 먼저 아래의 명령어를 쳐보자. 아래의 명령어를 치면, requirements.txt라는 파일에 아까 뽑았던 패키지 리스트들이 그대로 담긴다.


>>> pip freeze > requirements.txt

이제 패키지를 설치하고 싶은 가상환경으로 옮겨간 후 설치하는 명령어를 입력한다.

>>> conda activate tutorial           [1]

>>> pip install -r requirements.txt   [2]

[ 1 ] : tutorial이라는 가상환경으로 이동
[ 2 ] : requirements.txt에 있는 목록을 읽은 후 설치

여기서 r 은 read 라는 뜻이다.

이런저런 코드가 막 흘러내려가고 마지막에 이 코드가 반환되면 완료다.

Successfully installed Django-3.0.3 PyJWT-1.7.1 argparse-1.4.0 bcrypt-3.1.7 beautifulsoup4-4.8.2 bs4-0.0.1 cffi-1.14.0 chardet-3.0.4 django-cors-headers-3.2.1 idna-2.8 mysqlclient-1.4.6 powerline-shell-0.7.0 pycparser-2.19 requests-2.22.0 six-1.14.0 soupsieve-1.9.5 urllib3-1.25.8

끝!

profile
개발자가 되어가는 중

0개의 댓글