본문 바로가기
python

Python - pip 라이브러리 의존관계 트리로 확인하기

by 맑은안개 2022. 2. 7.

Image by Johnson Martin from Pixabay

라이브러리 설치를 확인하기 위한 pip list

Package           Version
----------------- -------
anyio             3.5.0
asgiref           3.5.0
click             8.0.3
colorama          0.4.4
fastapi           0.73.0
pip               22.0.3
pydantic          1.9.0
python-dotenv     0.19.2
PyYAML            6.0
setuptools        58.1.0
starlette         0.17.1
typing_extensions 4.0.1
uvicorn           0.17.4
watchgod          0.7
websockets        10.1

라이브러리 의존관계 확인

pipdeptree 모듈을 사용해서 라이브러리 의존관계를 확인할 수 있다.

pip install pipdeptree
pipdeptree -fl

fastapi==0.73.0
  pydantic==1.9.0
    typing_extensions==4.0.1
  starlette==0.17.1
    anyio==3.5.0
      idna==3.3
      sniffio==1.2.0
httptools==0.3.0
pipdeptree==2.2.1
  pip==22.0.3
python-dotenv==0.19.2
PyYAML==6.0
setuptools==58.1.0
uvicorn==0.17.4
  asgiref==3.5.0
  click==8.0.3
    colorama==0.4.4
  h11==0.13.0
watchgod==0.7
websockets==10.1

설치된 라이브러리 requirements.txt 생성

상위 종속을 갖지 않는 최상위 레벨의 라이브러리들을 정규식으로 필터한다.

pipdeptree | grep -P '^\w+' > requirement.txt

fastapi==0.73.0
httptools==0.3.0
pipdeptree==2.2.1
python-dotenv==0.19.2
PyYAML==6.0
setuptools==58.1.0
uvicorn==0.17.4
watchgod==0.7
websockets==10.1

Install requirements

pip install -r requirements.txt
반응형