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.lock
을 requirements.txt
로 변환할 수 있다.