为Conda Package Manager启用Conda-forge频道

本指南说明什么是 conda-forge 频道,如何从安装软件包 conda-forge 最后是如何永久启用 conda-forge 的渠道 conda 命令行以及Linux中的Anaconda Navigator GUI的软件包管理器。

什么是conda-forge?

默认情况下, conda 软件包管理器从 defaults 渠道。 中的所有软件包 defaults 频道已由Anaconda,Inc.的Conda团队进行了彻底的测试和维护。 defaults 渠道,有一些第三方渠道可用于托管和管理软件包。 其中一个渠道是 conda-forge。 Conda-forge是社区主导的渠道,可为各种软件提供最新的conda软件包。

defaults 频道可能并不总是包含所有软件包。 可能缺少某些软件包,或者其中包含过时的软件包。 这 conda-forge 社区通过在数千名贡献者的帮助下保持最新的软件包来解决这些问题。

Conda-forge项目由NumFOCUS资助,NumFOCUS是一个致力于支持开源科学计算社区的非盈利组织。

从conda-forge渠道安装软件包

可以从特定渠道安装软件包,而无需将其添加到我们的系统中。 让我们来看一个例子。

建议始终从以下位置安装软件包 conda-forge 新环境中的频道,而不是默认频道 base 环境。

以下命令将创建一个名为 测试应用 并安装 大熊猫 以及在testapp环境中的支持包:

$ conda create --channel conda-forge --name testapp pandas

或者,

$ conda create -c conda-forge -n testapp pandas

从conda-forge渠道安装软件包

这里, -c--channel)标志用于明确提及频道名称,即 conda-forge 就我们而言。

激活新创建的“ testapp”环境:

$ conda activate testapp

检查环境中所有已安装软件包的来源:

$ conda list
 packages in environment at /home/sk/anaconda3/envs/testapp:
 #
 Name                    Version                   Build  Channel
 _libgcc_mutex             0.1                 conda_forge    conda-forge
 _openmp_mutex             4.5                       1_gnu    conda-forge
 ca-certificates           2020.12.5            ha878542_0    conda-forge
 certifi                   2020.12.5        py39hf3d152e_1    conda-forge
 ld_impl_linux-64          2.35.1               hea4e1c9_2    conda-forge
 libblas                   3.9.0                8_openblas    conda-forge
 libcblas                  3.9.0                8_openblas    conda-forge
 libffi                    3.3                  h58526e2_2    conda-forge
 libgcc-ng                 9.3.0               h2828fa1_18    conda-forge
 libgfortran-ng            9.3.0               hff62375_18    conda-forge
 libgfortran5              9.3.0               hff62375_18    conda-forge
 libgomp                   9.3.0               h2828fa1_18    conda-forge
 liblapack                 3.9.0                8_openblas    conda-forge
 libopenblas               0.3.12          pthreads_h4812303_1    conda-forge
 libstdcxx-ng              9.3.0               h6de172a_18    conda-forge
 ncurses                   6.2                  h58526e2_4    conda-forge
 numpy                     1.20.1           py39hdbf815f_0    conda-forge
 openssl                   1.1.1j               h7f98852_0    conda-forge
 pandas                    1.2.2            py39hde0f152_0    conda-forge
 pip                       21.0.1             pyhd8ed1ab_0    conda-forge
 python                    3.9.1           hffdb5ce_5_cpython    conda-forge
 python-dateutil           2.8.1                      py_0    conda-forge
 python_abi                3.9                      1_cp39    conda-forge
 pytz                      2021.1             pyhd8ed1ab_0    conda-forge
 readline                  8.0                  he28a2e2_2    conda-forge
 setuptools                49.6.0           py39hf3d152e_3    conda-forge
 six                       1.15.0             pyh9f0ad1d_0    conda-forge
 sqlite                    3.34.0               h74cdb3f_0    conda-forge
 tk                        8.6.10               h21135ba_1    conda-forge
 tzdata                    2021a                he74cb21_0    conda-forge
 wheel                     0.36.2             pyhd3deb0d_0    conda-forge
 xz                        5.2.5                h516909a_1    conda-forge
 zlib                      1.2.11            h516909a_1010    conda-forge

列出conda环境中已安装的软件包

如您在上面的输出中看到的,所有软件包都从 conda-forge 资料库。

如果您不想创建新环境,而是在现有的活动环境中安装软件包,请运行:

$ conda install --channel conda-forge pandas

该命令将从以下位置安装pandas软件包: conda-forge 现有环境中的渠道。

让我们验证一下 conda-forge 通过使用以下任一方法添加频道:

$ conda info

此命令显示当前活动的conda环境的详细信息,包括通道。

[...]
           channel URLs : 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
[...]

如果只想显示频道,请使用以下命令:

$ conda config --show channels

样本输出:

channels:
  - defaults

要仅显示默认频道,请运行:

$ conda config --show default_channels

样本输出:

default_channels:
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r

在conda环境中显示活动频道在conda环境中显示活动频道

如您在上述输出中看到的, conda-forge 未添加。 我们仅从 conda-forge 频道,但我们尚未添加。

现在让我们继续添加或启用 conda-forge 永久频道。

在Linux中为conda软件包管理器启用conda-forge通道

如前所述,我们可以添加或启用 conda-forge 通过commadline或Anaconda Navigator图形用户界面访问频道。 首先,我们将看到命令行方式。

1.从命令行添加conda-forge频道

启用 conda-forge 通道,从终端运行以下命令:

$ conda config --add channels conda-forge

如前所述, conda 从安装 defaults 渠道,除非您明确要求它从特定渠道安装软件包。

要始终从安装软件包 conda-forge,将较高的优先级设置为 conda-forge 通道使用命令:

$ conda config --set channel_priority strict

在这里 channel_priority strict 选项将放置 conda-forge 频道位于 defaults 渠道,并确保所有依赖项都来自 conda-forge 渠道,除非它们仅存在于 defaults

检查是否 conda-forge 使用以下命令添加通道:

$ conda config --show channels
channels:
  - conda-forge
  - defaults

你注意到了吗? conda-forge 放在顶部 defaults 渠道。

现在,您通常可以在环境中安装任何软件包,而无需显式提及如下通道:

$ conda install pandas

该软件包将始终从以下位置下载 conda-forge 渠道。

在Linux中从conda-forge安装软件包在Linux中从conda-forge安装软件包

以防万一,如果软件包或其依赖项在 conda-forge,它们将从以下位置下载 defaults 渠道。

就像我已经提到的那样,建议始终将软件包安装在新环境中,而不是默认情况下 base 环境。 这样,您可以避免包装冲突并保持清洁 base 环境。

通过命令行添加频道没什么大不了的。 但是,有些人更喜欢图形化的方式来完成任务。 以下部分说明了如何启用 conda-forge Anaconda Navigator GUI中的频道。

2.从Anaconda Navigator添加conda-forge频道

发射 Anaconda Navigator 使用命令:

$ anaconda-navigator

点击频道按钮:

单击Anaconda Navigator GUI中的“频道”按钮单击Anaconda Navigator GUI中的“频道”按钮

点击添加按钮:

点击添加以添加新频道点击添加以添加新频道

输入 conda-forge 频道网址- https://conda.anaconda.org/conda-forge/。 按ENTER键更新频道列表。

输入conda-forge频道网址输入conda-forge频道网址

最后点击 更新频道 按钮启用conda-forge频道。

希望这可以帮助。

资源:

Anaconda发行版CondaConda渠道Conda命令Conda-forgeLinux

Sidebar