gpt4 book ai didi

python - 有什么方法可以显示 pip 包的依赖树吗?

转载 作者:IT老高 更新时间:2023-10-28 21:43:33 44 4
gpt4 key购买 nike

我有一个具有多个包依赖项的项目,主要要求列在 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 行 python 代码)应该相对容易修改以满足您的需要,或者您也可以(正如@MERose 在 pipdeptree 0.3 README 中指出的那样)使用:

pipdeptree --freeze  --warn silence | grep -P '^[\w0-9\-=.]+' > requirements.txt

pipdeptree 的 0.5 版本还允许使用 --json 选项输出 JSON,这更容易机器解析,但可读性较差。

关于python - 有什么方法可以显示 pip 包的依赖树吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17194301/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com