파이썬 requirements.txt 작성하기

파이썬 requirements.txt 작성하기

requirements.txt 파일은 프로젝트에서 사용하는 외부 패키지들의 의존성을 기록하여, 다른 개발자가 같은 환경을 재현하거나 배포할 때 유용하게 사용된다.

자신이 사용하는 외부 패키지들을 기억하고 있다면 직접 작성해도 되지만, 기억이 나지 않을 때 유용한 방법 두 가지를 소개하려고 한다.

현재 환경에 설치된 패키지 리스트 확인

나의 환경에 설치된 패키지가 무엇인지 알고있다면 pip list를 입력하여 설치된 패키지를 골라 작성하면 된다.

pip freese

pip freeze는 현재 활성화된 가상 환경(혹은 시스템 전체)에 설치된 모든 패키지와 버전 정보를 출력한다.

간단하게 현재 환경에 설치된 모든 패키지를 기록할수 있지만 가상 환경이 아닌 여러 프로젝트를 진행 중일 경우 프로젝트에 실제 사용하지 않는 패키지들도 포함될 수 있으므로 가상 환경에서 이용하는 것을 추천한다.

  • 실행 방법
    • 터미널에서 아래 명령어를 실행한다.
pip freeze > requirements.txt

이렇게 하면 현재 환경의 패키지 목록이 requirements.txt로 저장된다.

pipreqs

pipreqs는 프로젝트 폴더를 스캔하여 실제로 import된 모듈만을 분석해서 requirements.txt파일을 생성한다.

불필요한 패키지를 제외하고, 실제 사용된 라이브러리만 목록에 포함시킬수 있다.

그러나, 코드에서 동적으로 import 하는 경우나 특정 상황에 따라 모든 의존성이 정확히 반영되지 않을 수 있다.

  • 실행 방법
    • pipreqs 설치
pip install pipreqs
    • 프로젝트 루트 디렉토리에서 pipreqs 실행
pipreqs .

이 명령어는 현재 디렉토리 및 하위 디렉토리를 스캔하여 필요한 패키지를 찾아 requirements.txt파일을 생성한다.

req 파일이 이미 있다면 --force옵션을 붙여주면 된다.