Conda 速查表:环境创建、渠道管理与依赖复现的完整命令指南(Quick Reference)
2026/9/14 10:52:14 网站建设 项目流程

Conda 速查表:环境创建、渠道管理与依赖复现的完整命令指南(Quick Reference)

【免费下载链接】reference面向开发者的技术速查清单(Cheat Sheets)集合,整理常见技术、工具与开发流程,帮助快速查阅关键信息,提高开发效率。项目地址: https://gitcode.com/GitHub_Trending/referen/reference

本文基于 Quick Reference(referen/reference)仓库中的 Conda 备忘清单 展开,系统覆盖 conda 的环境创建与切换、包与渠道(channel)管理、环境修订与回滚、以及环境配置的导出与复现等全部核心命令。读完本文,你可以在不离开终端的情况下完成一个 Python 环境的"创建—安装—锁定—迁移—回滚"完整生命周期,并与同仓库的 pip 速查表、uv 速查表 形成互补的 Python 包管理知识体系。

这份速查表在 Quick Reference 中的位置

Quick Reference 是一个面向中文开发者的技术速查清单(Cheat Sheets)集合,按"编程、Python、命令、工具、数据库"等分类组织内容,首页导航由 README.md 自动生成,每一份清单都是docs/目录下的一个独立 Markdown 文件,经 package.json 中的refs-cli构建脚本(npm run build/npm start)编译为静态 HTML 供在线查阅。docs/conda.md 归属于首页"Python"分类(与 docs/python.md、docs/pip.md、docs/uv.md、docs/jupyter.md 并列),定位是"开始使用conda命令的快速参考"——命令本身完整可复制,配合 Anaconda 官方用户指南即可完成从入门到日常运维的全部操作。

以下各节按原文档骨架逐节展开:入门基础命令、环境与包管理、环境变更、导出环境配置、常用辅助命令与全局配置。

入门:常用基础命令

这一节对应 docs/conda.md 中的"常用基础命令"表,是日常使用 conda 出现频率最高的一组命令,建议优先记忆。

命令说明
conda info查看 conda 的一系列基本信息(版本、源、路径等),排查环境问题时通常第一步执行它
conda update -n base conda在 base 环境中更新 conda 本体
conda install anaconda=2022.05安装指定日期版本的 anaconda 发行版(原文示例为2022.05,具体可用版本以 Anaconda 官方发行说明为准)
conda create --name <ENVNAME>创建一个新的环境
conda activate <ENVNAME>激活 / 切换 / 选择一个环境
conda env list或者conda info -e列出所有环境和它们的位置(两种写法等价)
conda list -n <ENVNAME> --show-channel-urls列出某个环境所有包和包的下载源路径
conda install -n <ENVNAME> <PKG1> <PKG2>在某个环境中安装包(可一次指定多个包)
conda uninstall <PKGNAME> -n <ENVNAME>从某个环境删除某个包
conda update --all -n <ENVNAME>升级某个环境的所有包

从这张表可以看出 conda 的两个核心设计:一是几乎所有操作都支持-n / --name <ENVNAME>参数在不激活环境的前提下直接指向目标环境操作,适合脚本化批量管理;二是环境内的一切包操作最终都落在该环境独立的目录上,互不干扰。

环境与包管理

包查询与安装

在 conda 中,包的依赖关系和平台细节会由求解器自动解决,这是它相对其他包管理器的主要差异点。日常查询类命令都可以搭配grep做二次过滤,例如:

conda list | grep torch # 列出所有包含 torch 的包

完整的包与源管理命令表(对应 docs/conda.md):

命令说明
conda list列出所有已安装的包
conda list --show-channel-urls列出包含源(channel)信息的已安装包,用于确认每个包实际来自哪个渠道
conda update --all更新当前环境的所有包
conda install -c <CHANNELNAME> <PKG1> <PKG2>从特定源(如清华源、阿里源等镜像)安装包
conda install PKGNAME=3.1.4安装指定版本的包(注意原文档此处写作等号=,实际命令行标准写法为==,等价于 pip 的精确版本约束语义)
conda install "PKGNAME>2.5,<3.2"使用 AND 逻辑指定版本范围:大于 2.5 且小于 3.2
conda install "<PKGNAME> [version='2.5\|3.2']"使用 OR 逻辑:只接受 2.5 或 3.2 两个版本之一
conda uninstall <PKGNAME>卸载包

版本约束的三种写法值得单独强调:==精确锁定、区间写法表达 AND 约束、[version='A|B']表达 OR 约束。在需要与团队锁定完全一致版本时,优先用精确版本或直接导出锁定文件(见后文--explicit)。

渠道(源)管理

conda 按渠道顺序搜索包,渠道配置直接影响装包来源与速度。常用渠道管理命令:

命令说明
conda config --show-sources查看源地址(位置越靠上,搜索的时候越优先
conda config --add channels <CHANNELNAME>添加 conda 的源地址
conda config --remove channels <CHANNELNAME>移除 conda 的源地址

"位置越靠上优先级越高"是排查"装到的包版本不对/来源不对"这类问题的关键:当多个渠道提供同名包时,conda 优先从靠前的渠道取。国内网络环境下通常通过--add channels把镜像渠道加入列表,再用--show-sources确认顺序是否符合预期。

更改环境

环境本身也支持创建、克隆、重命名、删除和版本回滚。以下命令表完整继承自 docs/conda.md:

命令说明
conda create -n <ENVNAME> python=3.10指定 Python 版本创建环境(在创建时把解释器版本作为约束一并写入)
conda create --clone <ENVNAME> -n <NEWENV>从已有环境克隆一个新环境,适合做实验副本
conda rename -n <ENVNAME> <NEWENVNAME>对环境名字重命名
conda remove -n <ENVNAME> --all通过名字删除一个环境(--all表示连同所有包一起移除)
conda env remove -n <ENVNAME>通过名字删除一个环境(env removeremove --all是同一操作的不同入口)
conda list -n <ENVNAME> --revisions列出环境的各个修订版本(revision)
conda install -n <ENVNAME> --revision <NUMBER>回滚到环境的某个修订版本

其中"修订版本(revisions)"是 conda 的容错机制:conda 会记录环境历次变更的历史快照,每次成功的环境变更都会产生一个新的 revision 编号。因此当一次升级或批量更新把环境弄坏时,无需删掉重建,可以直接:

# 1. 先查看环境有多少个修订版本及其对应的包变更 conda list -n myenv --revisions # 2. 回滚到出问题之前的某个修订号 conda install -n myenv --revision 3

这组"查看 revisions → 指定 revision 回滚"的组合,是应对conda update --all或误装包后环境失控的标准恢复路径。

导出环境配置

跨机器、跨成员交付 Python 环境时,导出/导入命令是核心手段。原文档建议将导出文件统一命名为environment,这样环境名称将被保留。完整命令表(对应 docs/conda.md):

命令说明
conda env export --from-history > ENV.yml导出"从历史"视角的依赖列表,跨平台兼容需要(通过这种方式,可以省去所有其他可能是特定于平台的依赖项)
conda env export -n ENVNAME > ENV.yml导出指定环境到 yml 文件
conda env export > ENV.yml导出当前环境到 yml 文件
conda list --explicit > ENV.txt导出包信息到当前目录(精确到具体构建与 URL 的显式清单)
conda env create -n ENVNAME --file ENV.yml从 yml 文件导入(创建环境)
conda create -n ENVNAME --file ENV.txt从 txt(explicit 清单)文件导入

三种导出粒度可以这样理解(结合命令语义):

  1. env export --from-history:只记录"你显式安装过"的直接依赖,间接依赖在目标机器上重新求解。适合提交到版本库、需要跨 Linux/macOS/Windows 复用的场景,因为平台强相关的二进制依赖不会写死进文件;
  2. env export(全量):记录环境里实际解析出的全部包及版本,保真度高,但含大量平台特定包,通常只在同平台机器间迁移时使用;
  3. list --explicit:最严格的"锁定清单",精确到包的下载 URL,复现性最强,也最不容许跨平台差异。

配合导入侧的conda env create --file(从 yml 建环境)与conda create --file(从 explicit txt 建环境),一条完整的可复现工作流即:

# 在本机:创建并准备环境 conda create -n myenv python=3.10 conda activate myenv conda install numpy pandas scikit-learn # 导出(团队共享用 --from-history) conda env export --from-history > environment.yml # 在同事机器上:一键复现 conda env create -n myenv --file environment.yml

辅助命令与全局配置

查询、清理与配置检查

以下命令覆盖日常排障与磁盘维护(对应 docs/conda.md):

conda <COMMAND> --help # 查看任意子命令的帮助 conda search <PKGNAME> --info # 获取任何包的信息(版本、可用渠道等) conda clean --all # 清除所有未使用的缓存文件(装包缓存、索引缓存等) conda config --show # 检查 conda 当前生效的全部配置

conda clean --all建议定期执行,conda 长期积累的安装缓存会占用大量磁盘;conda config --showconda config --show-sources的区别在于:前者展示当前生效的完整配置(包括默认值),后者只展示由配置文件实际写入的源列表。

设置指定环境为默认环境

如果希望登录终端后默认进入某个非 base 环境,原文档给出的做法是修改 shell 启动脚本(对应 docs/conda.md):

vim ~/.bashrc export PATH="~/anaconda/envs/ENVNAME/bin:$PATH" # 在文件末尾添加该行 conda activate ENVNAME # :wq 保存并关闭 source ~/.bashrc # 立即更新当前 shell conda config --set auto_activate_base false # 禁用 auto activate base 环境

思路是:把目标环境的bin目录前置到PATH,并用auto_activate_base false关掉 conda 默认激活 base 的行为,两者配合实现"开箱即目标环境"。

无提示(非交互)运行

在脚本、CI 或批量执行中,conda会就"是否确认操作"弹出交互提示导致流程挂起,追加--yes即可跳过确认(对应 docs/conda.md):

conda COMMAND ARG --yes # 运行没有用户提示的命令 conda install PKG1 PKG2 --yes # 例如:一次性安装多个包且不等待确认

延伸:与仓库内其他 Python 速查表配合

在 Quick Reference 的 Python 分类中,conda 并不是孤立的:

  • docs/pip.md 覆盖 pip 的安装、版本控制、requirements.txt依赖文件、镜像源(pip config set global.index-url ...)等操作,适合管理纯 Python 生态依赖;
  • docs/uv.md 介绍用 Rust 实现的新一代 Python 包与项目管理工具,面向uv init、虚拟环境、依赖锁定等项目级工作流;
  • docs/python.md 提供 Python 语言层面的速查。

从分工上看,conda 速查表聚焦环境隔离与二进制依赖求解(环境级操作),pip 速查表聚焦单环境内的包管理(包级操作),二者常在同一工作流中先后出现:先用conda create固定解释器与重依赖,再用 pip 安装其余纯 Python 包。若需要新增或修正上述任何一份清单的条目,仓库的贡献规范见 CONTRIBUTING.md,Markdown 排版约定见 docs/quickreference.md。

附:原文档的延伸阅读方向

原文档结尾列出的三处参考资料均指向 conda 官方生态:Anaconda 官方文档、conda 官方的命令 Cheat sheet(在线版)以及可下载的 conda cheatsheet PDF,另有 conda 环境回滚机制的专题文章(介绍 revisions 特性)。这些外部资料可与本文配合使用;本文中的命令清单则以本仓库 docs/conda.md 的实际内容为准。

【免费下载链接】reference面向开发者的技术速查清单(Cheat Sheets)集合,整理常见技术、工具与开发流程,帮助快速查阅关键信息,提高开发效率。项目地址: https://gitcode.com/GitHub_Trending/referen/reference

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询