【问题标题】:List installed files of a package?列出软件包的已安装文件?
【发布时间】:2017-11-06 13:35:45
【问题描述】:

我已经完成了我的作业:搜索、尝试并阅读了 conda 文档。但是,我找不到这个看似常见且简单的任务的答案:列出属于已安装包的文件。我该怎么做?

我的 conda 版本:conda 4.3.30

我查看了list, info, search, and package 子命令。

我的用例:

  1. 当包“A”安装另一个包“B”作为其依赖项时。但是B有bug,或者安装有问题,我想看看B安装了哪些文件。

  2. 扩展使用:当 A 的命令调用 B 的某个命令 b,但我不知道 B 的确切名称时。基于 b 的“反向”搜索找出 B 和让我了解更多。

【问题讨论】:

  • 你能解释一下你为什么要这样做的用例吗?
  • @VivekKumar 感谢您的提问,我在问题中添加了我的用例。
  • 希望this patch 最终会被合并,但现在你可以在本地应用它。

标签: conda


【解决方案1】:

假设你已经激活了相关的anaconda环境,你可以查看文件${CONDA_PREFIX}/conda-meta/<package-name-and-version>-<hash>.json并寻找files元素。

(这适用于 Linux 上的 Miniconda)

【讨论】:

    【解决方案2】:

    发现所有conda安装的包都存放在<root_environment>/pkgs下。可以通过运行conda info 了解root environment 和其他信息。

    然后列出一个包有的文件:

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

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

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

    <root_environment> 这里是 ~/anaconda 之类的占位符,如果有人将 anaconda 安装到 ~/anaconda

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

    【讨论】:

      猜你喜欢
      • 2021-03-13
      • 2013-06-15
      • 2011-04-23
      • 1970-01-01
      • 2019-06-28
      • 2013-04-04
      • 1970-01-01
      • 2020-04-12
      • 1970-01-01
      相关资源
      最近更新 更多