当我执行pip冻结时,我看到大量我没有显式安装的Python包,例如
$ 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.)
有没有办法让我确定pip为什么要安装这些特定的依赖包?换句话说,我如何确定将这些包作为依赖项的父包?
例如,我可能想要使用Twisted,并且在了解更多关于不意外卸载或升级它的信息之前,我不想依赖于某个包。
发布于 2012-04-26 00:23:24
pip show
命令将显示指定的软件包需要哪些软件包(请注意,指定的软件包必须已经安装):
$ pip show specloud
Package: specloud
Version: 0.4.4
Requires:
nose
figleaf
pinocchio
pip show
是在pip版本1.4rc5中引入的。
发布于 2015-04-23 21:23:39
您也可以使用一行命令将包通过管道传输到pip show。
cut -d'=' -f1 requirements.txt | xargs pip show
发布于 2012-02-14 20:39:34
首先,pip freeze
显示所有当前安装的包,不一定使用PIP。
其次,Python包确实包含有关依赖包以及required versions的信息。您可以使用方法described here查看特定pkg的依赖关系。当您升级一个包时,像PIP这样的安装程序脚本将为您处理依赖项的升级。
为了解决包的更新问题,我推荐使用PIP requirements files。您可以定义所需的包和版本,并使用pip install立即安装它们。
https://stackoverflow.com/questions/9232568
复制相似问题