본문 바로가기

[Python] requirements.txt 명령어 정리

@Jeeqong 2025. 3. 30. 01:08
반응형
Python 프로젝트를 하다 보면 requirements.txt는 빠질 수 없는 필수 구성이다.
이 파일 하나로 필요한 패키지들을 한번에 설치하거나, 현재 프로젝트에서 어떤 패키지를 사용하는지 기록할 수 있다.
잘 관리하면 협업, 서버 배포, 로컬 개발 환경 세팅까지 모든 게 쉬워진다.
이 글에서는 requirements.txt를 다룰 때 자주 사용하는 pip 명령어들을 정리한다.

🔗 명령어 한눈에 보기

 

2025.03.15 - [🚀 Dev/Python] - [Python] requirements.txt 생성 및 설치 방법


1. 명령어 설명

1.1 pip freeze

현재 가상환경에 설치된 모든 패키지와 버전을 출력한다.

이 목록을 파일로 저장해 requirements.txt로 사용한다.

예제

pip freeze > requirements.txt

1.2 pip install -r requirements.txt

requirements.txt에 명시된 모든 패키지를 한 번에 설치한다.

협업 시 개발 환경을 맞출 때 필수적으로 사용하는 명령어다.

예제

pip install -r requirements.txt

1.3 pip freeze | grep 패키지명

설치된 패키지 중 특정 패키지만 필터링해서 저장하거나 확인할 수 있다.

예제

pip freeze | grep requests > requirements.txt

1.4 pip install 패키지명==버전

특정 버전의 패키지를 설치하고 싶을 때 사용한다.

requirements.txt에 고정 버전으로 직접 작성해도 된다.

예제

pip install numpy==1.26.0

또는

numpy==1.26.0  ← requirements.txt에 직접 작성

1.5 pip uninstall

더 이상 사용하지 않는 패키지를 제거하고, 이후 pip freeze로 목록을 갱신한다.

예제

pip uninstall pandas
pip freeze > requirements.txt

1.6 pip list

현재 설치된 모든 패키지 목록과 버전을 표 형태로 출력한다.

pip freeze보다는 사람이 읽기 쉽게 정리되어 있다.

예제

pip list

1.7 python -m pip install --upgrade pip

pip 자체를 최신 버전으로 업그레이드한다.

가상환경 만들고 나서 가장 먼저 해주는 게 좋다.

예제

python -m pip install --upgrade pip

1.8 pipreqs . --force

프로젝트 내에서 실제 사용 중인(import된) 패키지만 분석해서 requirements.txt를 생성한다.

  • -force 옵션을 붙이면 기존 파일을 덮어쓴다.

(pipreqs는 별도로 설치 필요)

예제

pip install pipreqs
pipreqs . --force

2. 주의할 점

  • pip freeze는 모든 패키지 + 의존성까지 포함되므로, 꼭 필요한 가상환경에서만 실행하자.
  • requirements.txt는 최소 버전이 아니라 고정 버전으로 생성되므로 배포 시 환경이 정확히 일치해야 할 때 유용하다.

📌 Tip

VSCode나 PyCharm에서는 .venv 가상환경을 만든 뒤

터미널에서 위 명령어들을 실행하면 훨씬 깔끔하게 관리된다.


3. 명령어 한눈에 보기

pip freeze 현재 설치된 패키지 목록 출력
pip freeze > requirements.txt 패키지 목록을 파일로 저장
pip install -r requirements.txt 파일에 있는 패키지 한 번에 설치
pip list 설치된 패키지를 표로 출력
pip install 패키지==버전 특정 버전의 패키지를 설치
pip uninstall 패키지명 패키지 제거
python -m pip install --upgrade pip pip 최신 버전으로 업그레이드
pip freeze | grep 패키지명 특정 패키지만 필터링하여 출력
pipreqs . --force 실제 사용 중인 패키지만 추출해 저장

마무리하며

requirements.txt를 잘 관리하면 프로젝트의 재현성과 유지보수가 크게 향상된다.
처음부터 자동화된 도구(pipreqs)를 활용하거나, pip freeze로 버전까지 꼼꼼히 관리해두자.
협업이나 배포 시 발생할 수 있는 환경 차이도 미리 방지할 수 있다.

 

 

반응형
Jeeqong
@Jeeqong :: JQVAULT

Jeeqong's vault : 정보/기록을 쌓아두는 공간 웹개발 포스팅 일상 리뷰를 기록하는 공간입니다.

공감하셨다면 ❤️ 구독도 환영합니다! 🤗

목차