从 Anaconda 的 defaults
频道迁移
希望从 Anaconda 的 defaults
频道(即那些托管在 https://repo.anaconda.com/pkgs 下的频道)迁移的用户应谨慎操作,以免破坏其工作环境。首先要意识到的是,在 2024 年,conda-forge 与 defaults
中提供的软件包不兼容。通常,conda-forge 上的软件包将需要特定软件包的较新版本,或者可能只是以不同的方式组织。作为社区,我们唯一可以支持的工作流程是 conda-forge 频道优先于所有其他频道的工作流程。
如果您之前使用的是 Miniconda 或 Anaconda Distribution,并希望迁移到使用 conda-forge,我们概述了两种工作流程。第一种允许您在不卸载先前安装的情况下尝试 conda-forge 中的软件包,第二种涉及卸载 Miniconda 或 Anaconda Distribution,然后安装 Miniforge。
在隔离环境中尝试 conda-forge
-
创建一个依赖项非常少的 conda 环境。以下命令将仅使用来自
conda-forge
的软件包来安装 Python 3.11。您可以根据自己的喜好调整 Python 版本conda create --name conda-forge-env python=3 --channel conda-forge --override-channels
-
激活您的环境,并将具有严格优先级的
conda-forge
添加到该特定环境conda activate conda-forge-env
conda config --env --add channels conda-forge
# optional:
# conda config --env --remove channels defaults
conda config --env --set channel_priority strict -
检查您的 conda 环境的配置
conda config --show
这应报告
conda-forge
是您列表中最顶部的频道。 -
现在您可以像这样使用命令
conda install my_desired_package_from_conda_forge
卸载 Anaconda 并安装 Miniforge
如果您准备好完全切换到 conda-forge,我们建议卸载 Anaconda / Miniconda,然后安装 Miniforge。以下步骤是关于如何执行此操作的指南,同时备份您的工作和环境。
-
清理您现有的 conda 安装。这应从您的 Anaconda / Miniconda 安装中删除未使用的文件,并使备份文件更小。
# The conda build purge command may fail if you don't have conda-build installed.
# this is expected
conda build purge
conda clean --all -
创建您的 conda 安装的 zip 压缩包。使用您喜欢的图形工具右键单击 Anaconda / Miniconda 安装文件夹。通过运行
conda info --envs
检查您是否在安装根目录之外创建了其他环境。如有必要,也备份这些环境。-
或者,如果愿意,您也可以导出所有环境的锁定文件
conda list --explicit --md5 --prefix /path/to/environment-name > environment-name.txt
请注意,这些锁定文件仅包含 conda 软件包。如果您在上面
pip install
了软件包,则这些软件包将不会被捕获。对于这些用例,请查看conda-lock
。 -
另一个有用的文件是为每个环境创建输入
environment.yml
conda env export --from-history --prefix --prefix /path/to/environment-name > environment-name.yml
此文件不会捕获您环境中完全相同的状态。相反,它会告诉
conda
要查找哪些软件包,然后找到满足请求的解决方案。
-
-
在 Windows 上,使用系统控制面板建议的卸载程序。在 Linux 和 macOS 上,您可以删除名为
anaconda3
或miniconda3
的文件夹(通常位于您的主目录中)。 -
在您的主目录中找到名为
.condarc
的文件,并将其备份到安全的地方。然后,删除您的旧.condarc
文件。当我们安装 Miniforge 时,将创建一个特定于 conda-forge 的新文件。 -
在 Linux 和 macOS 上,您的 shell 配置文件 (
~/.bashrc
) 可能包含来自先前安装的初始化代码。找到由# >>> conda initialize >>>
注释保护的代码块并将其删除。 -
从 Miniforge 下载 页面下载并安装与您的平台匹配的 Miniforge 安装程序。
-
安装完成后,您应该能够在 Windows 上使用
Miniforge3 Prompt
,或在 Linux 和 macOS 上使用终端,来运行命令conda info
请注意,conda-forge 是优先级最高的频道。
您现在应该可以使用 conda-forge 软件包了。
历史注释
直到大约 2021 年,conda-forge 与 Anaconda 的默认频道保持着很强的兼容性。但是,正如 2021 年 9 月宣布的那样,我们决定最终放弃对 Anaconda 的 defaults
软件包的依赖。多年来,这导致 conda-forge 和 Anaconda 的 defaults
频道之间的软件包版本和名称差异越来越大。
在 2024 年,不再支持从 Anaconda 的频道和 conda-forge 共同安装软件包的工作流程。
要检查您是否安装了来自这两个来源的软件包,请使用命令
conda list --show-channel-urls
所有软件包都应指定它们是从 conda-forge 频道安装的。在 2024 年,仍然存在一些错误,其中 conda 软件包会声称它们是从 PyPI 安装的,即使它们实际上是从 conda-forge 安装的。