반응형

Python 개발을 할 때, 프로젝트에 필요한 패키지들을 효과적으로 관리하는 것은 매우 중요합니다. `requirements.txt`는 이러한 패키지 관리를 도와주는 간단하면서도 강력한 도구입니다.

1. requirements.txt란?

requirements.txt는 프로젝트에서 사용하는 Python 패키지들의 목록을 포함하는 텍스트 파일입니다. 이 파일을 통해 다른 개발자나 환경에서도 동일한 패키지와 버전을 쉽게 설치할 수 있습니다.

2. requirements.txt 생성하기

현재 환경에 설치된 패키지들의 목록을 `requirements.txt`로 저장하려면 다음 명령어를 사용합니다.

1) 기본방법

pip freeze > requirements.txt

pip freeze 명령어도 패키지 목록을 생성하는 데 사용될 수 있지만, 로컬 파일 시스템이나 VCS에서 직접 설치된 패키지의 경우 `@ file` 형식으로 출력되기 때문에, 이러한 경우에는 `pip list --format=freeze`를 사용하는 것이 좋습니다.

2) pip list 사용방법

pip list --format=freeze > requirements.txt


3. requirements.txt로 패키지 설치하기

requirements.txt에 명시된 패키지들을 설치하려면 다음 명령어를 사용합니다.

1) 기본방법

pip install -r requirements.txt

2) 각 패키지를 개별적으로 설치하는 방법

이 방법은 특히 한 패키지의 설치에 실패했을 때 전체 설치가 중단되지 않게 하기 위해 유용합니다.

cat requirements.txt | xargs -n 1 pip install

 

4. 좋은 습관

  • 명확한 버전 지정: 패키지의 호환성을 보장하기 위해 가능한 특정 버전을 명시하는 것이 좋습니다. (예: `Django==3.1.4`)
  • 환경별 requirements: 개발, 테스트, 프로덕션 등 다양한 환경에 따라 다른 `requirements.txt`를 관리할 수 있습니다. (예: `requirements_dev.txt`, `requirements_prod.txt`)
반응형

`requirements.txt`는 Python 프로젝트의 패키지 의존성을 효과적으로 관리하는 데 도움을 줍니다. 프로젝트를 공유하거나 다른 환경에서 작업할 때 이 도구를 활용하여 패키지 설치를 간편하게 할 수 있습니다.

반응형