여러 패키지 종속성이있는 프로젝트가 있으며 주요 요구 사항은 requirements.txt
. 내가 호출 pip freeze
하면 현재 설치된 패키지를 일반 목록으로 인쇄합니다. 나는 또한 다음과 같은 의존 관계를 얻는 것을 선호합니다.
Flask==0.9
Jinja2==2.7
Werkzeug==0.8.3
Jinja2==2.7
Werkzeug==0.8.3
Flask-Admin==1.0.6
Flask==0.9
Jinja2==2.7
Werkzeug==0.8.3
목표는 각 특정 패키지의 종속성을 감지하는 것입니다.
Werkzeug==0.8.3
Flask==0.9
Flask-Admin==1.0.6
그리고 이것들을 내 현재 requirements.txt
. 예를 들어,이 입력의 경우 :
Flask==0.9
Flask-Admin==1.0.6
Werkzeug==0.8.3
나는 얻고 싶다 :
Flask==0.9
Jinja2==2.7
Flask-Admin==1.0.6
Werkzeug==0.8.3
설치된 pip 패키지의 종속성을 표시하는 방법이 있습니까?
답변
다음을 살펴보아야합니다 pipdeptree
.
$ pip install pipdeptree
$ pipdeptree -fl
Warning!!! Cyclic dependencies found:
------------------------------------------------------------------------
xlwt==0.7.5
ruamel.ext.rtf==0.1.1
xlrd==0.9.3
openpyxl==2.0.4
- jdcal==1.0
pymongo==2.7.1
reportlab==3.1.8
- Pillow==2.5.1
- pip
- setuptools
requirements.txt
직접 지시 한대로 파일을 생성하지 않습니다 . 그러나 소스 (파이썬 코드의 255 줄)는 필요에 따라 비교적 쉽게 수정할 수 있어야합니다.
pipdeptree --freeze --warn silence | grep -P '^[\w0-9\-=.]+' > requirements.txt
0.5 버전은 pipdeptree
또한 --json
가독성이 떨어지는 대신 기계 구문 분석이 더 쉬운 옵션을 사용하여 JSON 출력을 허용 합니다.
답변
경고 : py2 전용 / 포기
yolk
패키지에 대한 종속성을 표시 할 수 있습니다.
- 통해 설치되었습니다
setuptools
-
종속성 정보를 포함하는 메타 데이터와 함께 제공
$ yolk -d Theano Theano 0.6.0rc3 scipy>=0.7.2 numpy>=1.5.0