들어가기

기본적으로 Node에서는 npm 또는 yarn을 사용해서 패키지 관리를 하고, 파이썬은 PIP를 이용해 패키지 관리를 한다.

npmyarn은 기본적으로 디렉토리 별로 패키지를 관리해주고 npm installyarn install 명령어로 사용자가 의존되어있는 라이브러리들을 한번에 설치 할 수 있다

PIP도 디렉토리 이렇게 의존된 라이브러리들을 한번에 설치하는 방법이 있는데 그것에 대해 알아보자

requirements.txt

PIP 는 requirements.txt라는 파일에 패키지 정보(이름, 버전)를 저장할 수 있다

$ pip freeze > requirements.txt

이 명령어를 입력하면 requirements.txt 파일이 만들어지고 내용은 아래처럼 저장된다

# 이 플래그의 주소는 pip의 기본 설정이지만 관계를 명확하게 보여주기 위해 추가함
--index-url https://pypi.python.org/simple/

MyPackage==1.0
requests==1.2.0
bcrypt==1.0.2

이제 이 파일을 이용하여 패키지를 한번에 정해진 버전으로 설치가능하다

pip install -r requirements.txt

모드별 관리

보통 dev 전용 패키지와 production 전용 패키지를 구분하는데 PIP는 따로 지원해주는 것은 없고 그냥 아래처럼 파일을 나누면 된다

python_root
└── requirements
    ├── common.txt
    ├── dev.txt
    └── prod.txt

파일이름을 꼭 requirements 라고 지을 필요는 없다