首页 > 解决方案 > 如何确定安装 conda 包需要启用的通道?

问题描述

例如,假设我想安装 bioconda 包gapfiller

conda new -n gapfiller -c bioconda -c conda-forge gapfiller

如果我运行上述命令,我会收到以下错误:

PackagesNotFoundError: The following packages are not available from current channels:

  - boost[version='>=1.57.0,<1.57.1.0a0']

Current channels:

  - https://conda.anaconda.org/bioconda/linux-64
  - https://conda.anaconda.org/bioconda/noarch
  - https://conda.anaconda.org/conda-forge/linux-64
  - https://conda.anaconda.org/conda-forge/noarch
  - https://repo.anaconda.com/pkgs/main/linux-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/r/linux-64
  - https://repo.anaconda.com/pkgs/r/noarch

在这一点上,下一步我应该采取什么措施来确定我需要开始包括哪个频道?

我试过查看meta.ymlfor the package,但它只列出了依赖的gapfiller而不是可以找到它们的通道。我也试过conda search boost了,但当然只返回(不兼容)导致我当前的频道,它没有告诉我如何找到新频道:

$ conda search boost
Loading channels: done
# Name                       Version           Build  Channel             
boost                         1.65.1          py27_4  pkgs/main           
boost                         1.65.1  py27h0eb07c9_3  pkgs/main           
boost                         1.65.1          py35_4  pkgs/main           
boost                         1.65.1  py35heb9229b_3  pkgs/main           
boost                         1.65.1          py36_4  pkgs/main           
boost                         1.65.1  py36hfaba7b9_3  pkgs/main           
boost                         1.67.0          py27_4  pkgs/main           
boost                         1.67.0          py35_4  pkgs/main           
boost                         1.67.0          py36_4  pkgs/main           
boost                         1.67.0          py37_4  pkgs/main           
boost                         1.71.0          py38_0  pkgs/main 

如何确定用于解决问题的正确渠道PackagesNotFoundError

标签: pythonanacondaconda

解决方案


通常,当涉及到旧的软件包版本时,它们会降级到去年默认元通道中删除的免费通道。有几种方法可以将其重新添加(例如,配置设置restore_free_channel或 env 变量CONDA_RESTORE_FREE_CHANNEL),但一个直接的临时解决方案是将其包含为通道之一:

conda install -c free ...

对于linux-64boost=1.57平台,我看到

conda search -c free boost=1.57[subdir='linux-64']
Loading channels: done
# Name                       Version           Build  Channel             
boost                         1.57.0               0  free                
boost                         1.57.0               1  free                
boost                         1.57.0               4  free   

推荐阅读