파이썬을 공부하면서부터 깃허브에 꼭 하나씩 있는 게 바로 requirements.txt다.
처음엔 이걸 왜 설치하라는 건지도 모르고 에러나면 설치하고 에러나면 설치하고의 반복이었는데 이거 하나면 번거로움이 줄어든다.
requirements.txt는 파이썬 프로젝트에서 필요한 패키지와 그 버전들을 명시해놓은 텍스트파일이다.
특히 팀 프로젝트에서 팀원들이 같은 환경을 구축할 수 있게 한다.
또한 사용하던 가상환경에서 다른 가상환경으로 옮길 때도 유용하다.
requirements.txt라는 걸 알고 나서도 일일히 내가 사용한 패키지들을 입력했었는데, 명령어 하나면 손쉽게 생성이 관리하다.
1. requirements.txt 자동 생성 방법
- 현재 가상환경, 내가 사용하는 파이썬 환경에 설치된 모든 패키지와 버전이 함께 기록된다.
- 일반적으로 사용되는 명령어이다.
pip freeze > requirements.txt
또는
pip list --format=freeze > requirements.txt
2. requirements.txt 직접 작성 방법
- 필요한 패키지와 버전만 직접 입력할 수도 있다.
folium==0.18.0
plotly==5.24.1
python-dotenv==1.0.1
seaborn==0.13.2
Scrapy==2.12.0
scikit-learn==1.6.0
3. requirements.txt 설치 방법
- requirements.txt에 명시되어 있는 모든 패키지가 설치된다.
pip install -r requirements.txt
4. requirements.txt 내용 업데이트하기
- pip install로 필요한 패키지 설치 후 requirements.txt 내용도 업데이트 하려면 생성할 때와 같은 명령어를 입력하거나 직접 파일을 열어 필요한 패키지나 버전 등을 추가, 수정할 수 있다.
pip install [패키지명]
pip freeze > requirements.txt
5. 불필요한 패키지 제거 방법
- pip uninstall로 불필요한 패키지 제거 후 변경된 상태로 requirements.txt를 갱신해준다.
pip uninstall [패키지명]
pip freeze > requirements.txt
* 패키지 의존성 관리 도구
파이썬 패키지 관리 도구로 pip-tools 라는 것이 있다. 주요 패키지 (requirements.in) 와 해당 패키지의 의존성 (requirements.txt) 을 분리하여 관리할 수 있게 한다.
1. 설치
pip install pip-tools
2. 설치확인
pip-compile --version
3. 사용방법
- 주요 패키지 파일 (requirements.in)에는 프로젝트에서 직접 사용하는 주요 패키지만 기록한다.
- requirements.txt 생성 : 주요 패키지와 더불어 모든 의존성 패키지도 포함한다. 의존성 패키지는 주석으로 어떤 패키지에서 유래했는지 표시된다.
pip-compile
4. 의존성 업데이트
- 주요 패키지와 의존성 패키지의 최신 버전을 업데이트한다.
pip-compile --upgrade
5. 환경 파일 분리
- 개발용 패키지와 프로덕션 패키지를 별도로 관리 가능하다.
- requirements.in (프로덕션용) / dev-requirements.in (개발용) 으로 나뉜 경우 각각 컴파일해준다.
pip-compile requirements.in
pip-compile dev-requirements.in
6. 설치방법
pip install -r requirements.txt
pip install -r dev-requirements.txt'Programming' 카테고리의 다른 글
| Jquery, 이제는 안 써도 될까? (1) | 2025.02.05 |
|---|---|
| [python] Flask 폴더구조 비교 및 생성 (0) | 2025.01.06 |
| [자바] 문자열에서 특정 문자 출력하기 (0) | 2023.07.02 |
| [자바]sc.nextLine(); 안써서 입력 안 되는 오류 (0) | 2023.06.20 |