列出软件包的已安装文件?

问题描述 投票:0回答:3

如何列出属于已安装软件包的文件?

我已经完成了我的作业:搜索、尝试并阅读 conda 文档。

我查看了

list
info
search
package
子命令。

我的 conda 版本:4.3.30

我的用例:

  1. 当包“A”安装了另一个包“B”作为其依赖项时。但是 B 有错误,或者安装不知何故损坏,我想检查 B 安装了哪些文件。

  2. 扩展用途:当A的命令调用B的某个命令

    b
    ,但我不知道B的确切名称时。基于
    b
    的“反向”搜索找到B并让我阅读更多内容关于它。

conda
3个回答
24
投票

假设你已经激活了相关的anaconda环境,你可以查看文件

${CONDA_PREFIX}/conda-meta/<package-name-and-version>-<hash>.json
并查找
files
元素。

(这适用于 Linux 上的 Miniconda)


7
投票

发现conda安装的所有包都存放在

<root_environment>/pkgs
下。通过运行
root environment
可以了解
conda info
等信息。

然后列出包中的文件:

tree <root_environment>/pkgs/<package_name>-<package_version>

或者使用

find
,也可以找到哪个下载的包有以下命令:

find <root_environment> -type f -iname 'somecommand'

<root_environment>
这里是一个占位符,用于类似
~/anaconda
的内容,如果有人将 anaconda 安装到
~/anaconda

这个解决方案是 *nix 特定的,但对我来说已经足够好了。


2
投票

为了完整起见,以下是如何从 Powershell 完成此操作。

$condaInfo = conda info --json | ConvertFrom-Json
Get-ChildItem -Path $condaInfo.'package cache'[0] -Filter 'pattern' -Recurse -ErrorAction SilentlyContinue -Force

可能有多个

$condaInfo.'package cache'
文件夹。

© www.soinside.com 2019 - 2024. All rights reserved.