Python 패키지 관리 - requirements.txt 활용 및 패키지 일괄 삭제
[환경]
- Python 버전: 3.11
- pip 버전: 22.3
Python 프로젝트를 진행하다 보면 패키지 관리를 효율적으로 해야 할 필요가 있다. 특히 여려 환경에서 같은 패키지를 설치하거나, 불필요한 패키지를 한 번에 삭제해야 하는 경우가 생긴다. 이에 대한 간단한 방법을 정리해본다.
1. 패키지 정보 저장 및 다른 환경에서 설치
Python 프로젝트에서 일반적으로 패키지 정보를 저장하는 방식으로 requirements.txt를 많이 활용한다.
1) 패키지 목록 저장하기
현재 설치된 패키지 목록을 requirements.txt 파일로 저장하려면 다음 명령어를 실행한다.
pip freeze > requirements.txt
(이 명령어에서 pip freeze는 현재 Python 환경에 설치된 모든 패키지를 목록으로 출력한다. 이 출력을 requirements.txt 파일로 저장하면, 해당 환경에서 사용 중인 패키지 및 버전 정보를 보존할 수 있다.)
이 명령을 실행하면 requirements.txt 파일이 생성되며, 다음과 같은 형식으로 패키지 목록이 기록된다.
2) 다른 환경에서 동일한 패키지 설치하기
다른 환경에서도 동일한 패키지를 설치하려면 다음 명령을 실행한다.
pip install -r requirements.txt
이렇게 하면 requirements.txt 에 기록된 모든 패키지가 자동으로 설치된다.
2. 모든 패키지 삭제하는 방법
때때로 불필요한 패키지를 한 번에 삭제하고 싶은 경우가 있다. 이를 위해 pip freeze 명령어를 활용하면 된다.
- Windows / macOS / Linux 공통
다음 명령어를 실행하면 현재 설치된 모든 패키지를 한 번에 삭제할 수 있다.
pip freeze | xargs pip uninstall -y
이 명령은 다음과 같이 동작한다.
1. pip freeze 를 통해 설치된 패키지 목록을 가져온다.
2. xargs 를 사용하여 각 패키지를 pip uninstall -y 명령어로 삭제한다.
- Windows (PowerShell)
Windows PowerShell에서는 xargs 가 없기 때문에 아래 명령어를 사용한다.
pip freeze | ForEach-Object { pip uninstall -y $_ }
이렇게 하면 설치된 모든 패키지가 한 번에 제거된다.
마무리
- requirements.txt 는 프로젝트의 패키지 관리를 간편하게 해준다.
- pip freeze 를 활용하면 현재 설치된 패키지 목록을 쉽게 저장하고 공유할 수 있다.
- pip freeze 와 xargs 를 활용하면 불필요한 패키지를 한 번에 삭제할 수 있다.
위 방법들을 활용하면 Python 패키지를 효율적으로 관리할 수 있다.