如何分析conda的依赖树

Lov*_*vey 14 python python-3.x anaconda conda miniconda

有没有像我们在 Maven 中那样分析 Conda 依赖项的工具?

即:在 Java 项目(基于 Maven 的)中,您说它mvn dependency:tree以可读的树格式显示所有依赖项(以及传递依赖项)。

我想知道我们是否在基于 python 的项目中有一些东西来分析 Conda 依赖项。

有什么建议?

par*_*esv 11

查看conda-tree

用法(基于conda-tree网页):

# version
$ conda-tree --version
conda-tree 0.0.4

# packages that no other package depends on
$ conda-tree leaves
['samtools','bcftools',...]

# dependencies of a specific package
$ conda-tree depends samtools
['curl', 'xz', 'libgcc', 'zlib']

# which packages depend on a specific package
$ conda-tree whoneeds xz
['samtools', 'bcftools', 'htslib', 'python']

# dependency cycles
$ conda-tree cycles
pip -> python -> pip
pip -> wheel -> python -> pip

# query a different conda prefix/env
$ conda-tree -p /conda/envs/trinity leaves
['trinity']

# query by name
$ conda-tree -n trinity leaves
['trinity']
Run Code Online (Sandbox Code Playgroud)

对于使用 安装的依赖项pip,请查看pipdeptree. 它将返回软件包的依赖关系树(安装时使用pip. 请参阅文档

尝试:

pipdeptree
Run Code Online (Sandbox Code Playgroud)

或者,如果你正在寻找的叶子

pipdeptree --freeze  --warn silence | grep -P '^[\w0-9\-=.]+'
Run Code Online (Sandbox Code Playgroud)

另请参阅答案。