pip install 어쩌구로 라이브러리를 설치하면 수십개의 디펜던시가 주루룩 설치됩니다

pip freeze로 설치된 라이브러리를 뽑아보면 pip install 어쩌구로 설치한 라이브러리 뿐 아니라 수십개의 디펜던시까지 같이 나와서 좀 보기 불편합니다. 이게 필요해서 받은건지, 아니면 걍 곁다리로 받아진건지 알 수가 없습니다.

$ pip freeze
asgiref==3.4.1
Django==3.2.6
pytz==2021.1
sqlparse==0.4.1

예를 들어 django를 설치했을 때 asgiref, pytz, sqlparse가 설치됩니다. 뭐 이정도면 사실 디펜던시는 적은 편입니다.

그런데 requirements를 freeze로 설치된 모든걸 갖고오는게 아니라 root 디펜던시만 갖고오고 싶다면 pip-chill을 사용하는 게 좋습니다.

$ pip install pip_chill

설치는 위 명령어로 하면 됩니다. 설치할 때는 하이픈이 아니라 언더스코어(_)인 점을 주의해주세요.

사용은 pip-chill로 하면 됩니다.

$ pip-chill
django==3.2.6
pip-chill==1.0.1

써보면 이렇게 install로 설치한 라이브러리만 나옵니다.

$ pip-chill --no-version
django
pip-chill

버전도 필요가 없다... 라고 하면 --no-version 옵션을 추가할 수는 있지만.. 그냥 쓰지 마세요.

$ pip-chill > requirements.txt

이젠 pip freeze 대신 pip-chill을 써봅시다

반응형