/ PROGRAMMING, PYTHON

Python에서 requirements.txt로 패키지 관리하기

여러 개의 패키지를 설치해야 할 때, 일일이 구글링을 해 가며 pip install <패키지명> 치는 것은 귀찮다.

반면, requirements.txt가 있으면,

pip install -r requirements.txt

로 한 방에 필요한 패키지를 전부 설치 가능하다.

이런 requirements.txt를 생성하려면 보통 다음과 같은 명령어를 이용한다.

pip freeze > requirements.txt

단 이 방법은 현재 환경에 설치된 모든 패키지가 출력되므로 불필요한 패키지가 포함될 수 있는 것이 단점이다.

이 단점을 해결하는 방법으로 pipreqs를 이용하는 것이 있다.

pip install pipreqs
pipreqs <프로젝트 경로>

pipreqs는 프로젝트 하위의 모든 Python 파일의 모든 import 구문을 스캔해서 필요한 패키지를 자동으로 찾아서 requirements.txt를 만들어 준다.

혹은 가상 환경과 함께 사용하는 방법도 있다. pipenv를 사용하는 경우에는 requirements.txt 대신 Pipfile.lock만 사용하기도 한다.

pipenv에 설치된 패키지로 requirements.txt를 생성하고 싶다면,

pipenv lock -r > requirements.txt

를 실행하거나 또는

pipenv run pip freeze > requirements.txt

로 직접 low-level pip 커맨드를 실행하거나, 마지막으로

pipenv requirements

를 입력하여 Pipfile.lockrequirements.txt로 변환할 수 있다.