本指南解释了什么是 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
这里, -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-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-forge
没有添加。 我们只安装了软件包 conda-forge
频道,但我们还没有添加它。
现在让我们继续添加或启用 conda-forge
频道永久。
在 Linux 中为 conda 包管理器启用 conda-forge 通道
如前所述,我们可以添加或启用 conda-forge
来自命令行或 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
channel 并确保所有依赖项都来自 conda-forge
频道,除非它们只存在于 defaults
.
检查是否 conda-forge
使用命令添加频道:
$ conda config --show channels channels: - conda-forge - defaults
你注意到了吗? conda-forge
放在上面 defaults
渠道。
现在,您通常可以在您的环境中安装任何软件包,而无需明确提及如下通道:
$ conda install pandas
该软件包将始终从 conda-forge
渠道。
以防万一,如果包或其依赖项在 conda-forge
,它们将从 defaults
渠道。
就像我已经提到的,建议始终在新环境而不是默认环境中安装软件包 base
环境。 这样您就可以避免包冲突并保持干净 base
环境。
通过命令行添加频道没什么大不了的。 但是,你们中的一些人更喜欢以图形方式完成工作。 以下部分说明如何启用 conda-forge
来自 Anaconda Navigator GUI 的频道。
2. 从 Anaconda Navigator 添加 conda-forge 频道
发射 蟒蛇导航器 使用命令:
$ anaconda-navigator
单击频道按钮:
点击添加按钮:
Enter 这 conda-forge
频道网址 – https://conda.anaconda.org/conda-forge/
. 按 ENTER 键更新频道列表。
最后点击 更新频道 按钮以启用 conda-forge 通道。
希望这可以帮助。
资源:
- Conda-forge 网站
Anaconda 发行版CondaConda 频道Conda 命令Conda-forgeLinux