You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将conda包固定到指定通道,避免更新时切换通道?

如何固定conda包到指定通道避免更新时切换?

你当前的配置是将defaults设为优先通道,conda-forge作为第二通道:

conda config --append channels conda-forge
conda config --show channels
# 输出:
# channels:
#   - defaults
#   - conda-forge

通过conda install conda-forge::nlopt从conda-forge安装了nlopt,但执行conda update --all时,conda会因为通道优先级将其替换为默认通道版本:

conda update --all
# 输出片段:
# The following packages will be SUPERSEDED by a higher-priority channel:
#   nlopt              conda-forge::nlopt-2.7.1-py311hdac7a7~ --> pkgs/main::nlopt-2.7.1-hd77b12b_0

要解决这个问题,你可以通过以下两种方式将包固定到指定通道:

方法1:使用conda命令添加固定规则

直接通过conda config命令将nlopt包固定到conda-forge通道:

conda config --add pinned_packages conda-forge::nlopt

执行后验证配置是否生效:

conda config --show pinned_packages
# 预期输出:
# pinned_packages:
#   - conda-forge::nlopt

方法2:手动编辑.condarc文件

找到你的.condarc配置文件(Windows路径为C:\Users\<你的用户名>\.condarc,Linux/macOS路径为~/.condarc),打开后添加pinned_packages字段:

channels:
  - defaults
  - conda-forge
pinned_packages:
  - conda-forge::nlopt

保存文件后配置立即生效。

取消固定的方法

如果后续需要取消对nlopt的通道固定,执行以下命令:

conda config --remove pinned_packages conda-forge::nlopt

原理说明:pinned_packages中的规则会强制conda始终使用指定通道的对应包,优先级高于通道顺序设置,因此更新操作不会再替换该包的通道版本。

内容的提问来源于stack exchange,提问作者goweon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 09:12:11