比如说,我想安装生物康达软件包 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.yml
为包但这只列出了 包裹 该 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
?
通常情况下,当涉及到老版本的软件包时,它们会被归类为 的 自由的 渠道,该渠道被取消 默认 去年,metachannel. 有几种方法可以把它加回来(例如,配置设置中的 restore_free_channel
或环境变量 CONDA_RESTORE_FREE_CHANNEL
),但直接的 特设 解决办法是将其作为通道之一。
conda install -c free ...
对于 boost=1.57
关于 linux-64 纲
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