Quand je fais un pip freeze, je vois un grand nombre de packages Python que je n'ai pas installés explicitement, par exemple
$ pip freeze
Cheetah==2.4.3
GnuPGInterface==0.3.2
Landscape-Client==11.01
M2Crypto==0.20.1
PAM==0.4.2
PIL==1.1.7
PyYAML==3.09
Twisted-Core==10.2.0
Twisted-Web==10.2.0
(etc.)
Existe-t-il un moyen pour moi de déterminer pourquoi pip a installé ces packages dépendants particuliers? En d'autres termes, comment déterminer le package parent qui avait ces packages comme dépendances?
Par exemple, je pourrais vouloir utiliser Twisted et je ne veux pas dépendre d'un paquet jusqu'à ce que j'en sache plus sur le fait de ne pas le désinstaller ou le mettre à niveau accidentellement.
pipdeptree -r
"Affiche l'arborescence des dépendances de manière inverse, c'est-à-dire que les sous-dépendances sont répertoriées avec la liste des paquets qui en ont besoin sous elles."pipdeptree
c'est génial. Malheureusement, il ne semble pas prendre en compte les dépendances pour les packages installés par conda: par exemple dans un environnement conda oùmatplotlib
etnumpy
ont été installés à l'aide de pip, mais ascipy
été installé à l'aide de conda,scipy
apparaît dans le pipdeptree comme n'ayant pas de dépendances et pas de dépendants (pip show scipy
montre également non exigences).python -m pipdeptree
autrement (même lorsque l'exécutable est installé sur le virtualenv), il ne répertorie que les dépendances système.