
Conda 是一个开源的包管理系统和环境管理系统 ,最初为 Python 设计,但现在也支持 R、Ruby、Lua 等多种语言。核心价值在于:在同一台电脑上,为不同项目创建相互隔离的运行环境,避免依赖冲突。
一、为什么需要 Conda?
1. 没有 Conda 时的困境
假设你有两个项目:
-
项目 A:需要 Python 3.8 + TensorFlow 1.x
-
项目 B:需要 Python 3.11 + TensorFlow 2.x
如果都装在同一个 Python 环境里,TensorFlow 的两个版本会直接冲突,无法共存。
2. Conda 的解决

每个项目拥有独立的"小房间"(环境),互不干扰。
二、Conda介绍
| 概念 | 说明 |
|---|---|
| 环境(Environment) | 一个独立的"小房间",包含特定版本的 Python 和所有依赖包 |
| 包(Package) | 需要安装的软件库,如 numpy、pandas、tensorflow |
| 通道(Channel) | 包的来源。默认是 defaults,社区维护的是 conda-forge |
base 环境 |
Conda 安装后默认进入的基础环境,不建议在里面装项目依赖 |
三、安装 Conda
Conda 有两个主流发行版:Anaconda (完整版,包含大量预装包,体积大)和 Miniconda(精简版,只包含 Conda 和 Python,体积小)。
推荐使用 Miniconda,按需安装,更轻量。
下载与安装
# Linux/macOS
# 1. 下载 Miniconda 安装包(以 Linux x86_64 为例)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 2. 运行安装脚本
bash Miniconda3-latest-Linux-x86_64.sh
# 3. 按照提示完成安装,安装完成后重新打开终端
# 4. 验证安装
conda --version
Windows 用户:从官网下载 Miniconda 安装包(.exe),双击安装,勾选"Add to PATH"即可。
四、环境管理(最常用的操作)
1. 查看环境
# 列出所有环境
conda env list
# 或
conda info --envs
2. 创建环境
# 创建名为 myenv 的环境,指定 Python 版本
conda create -n myenv python=3.9
# 创建环境时同时安装包
conda create -n myenv python=3.9 numpy pandas
# 从 environment.yml 文件创建
conda env create -f environment.yml
3. 激活与退出环境
# 激活环境(进入"小房间")
conda activate myenv
# 退出环境(回到 base)
conda deactivate
4. 删除环境
# 删除整个环境
conda remove -n myenv --all
5. 克隆环境(备份/测试用)
# 完整复制一个环境
conda create --name new_env --clone old_env
五、包管理
1. 安装包
# 在当前环境安装包
conda install numpy
# 指定版本
conda install numpy=1.21
# 从 conda-forge 通道安装(社区维护,更新更快)
conda install -c conda-forge numpy
# 安装多个包
conda install numpy pandas matplotlib
2. 查看已安装的包
conda list
3. 更新包
# 更新单个包
conda update numpy
# 更新所有包
conda update --all
4. 卸载包
conda remove numpy
六、Conda 与 pip
| 对比 | Conda | pip |
|---|---|---|
| 包来源 | Conda 频道 | PyPI |
| 语言支持 | 多语言(Python、R、C++) | 仅 Python |
| 非 Python 依赖 | 支持 | 不支持 |
| 环境管理 | 内置 | 需要 venv |
七、环境导出与分享(团队协作必备)
1. 导出环境配置
# 方式一:导出完整环境(包含所有依赖,跨平台兼容性差)
conda env export > environment.yml
# 方式二:只导出你手动安装的包(推荐,跨平台兼容性好)
conda env export --from-history > environment.yml
2. 从配置文件复现环境
conda env create -f environment.yml
3. 更新环境
conda env update --file environment.yml --prune
八、常用配置技巧
1. 配置国内镜像源(加速下载)
# 配置清华镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --set show_channel_urls yes
2. 使用 mamba 加速(推荐)
mamba 是一个用 C++ 重写的 Conda 替代品,速度极快。
# 在 base 环境安装 mamba
conda install -n base mamba -c conda-forge
# 之后用 mamba 替代 conda 命令
mamba create -n myenv python=3.9 numpy pandas
3. 清理缓存
# 清理所有缓存
conda clean --all
# 只清理包缓存
conda clean --packages
九、注意事项
| 问题 | 解决方案 |
|---|---|
conda 命令找不到 |
重新打开终端,或手动将 Conda 路径加入 PATH |
| 环境创建慢 | 配置国内镜像源,或使用 mamba |
| 依赖冲突 | 用 mamba 解决,或创建新环境 |
conda activate 报错 |
运行 conda init 初始化 shell |
| 包版本不对 | 指定版本号:conda install numpy=1.21 |
| 磁盘空间不足 | 运行 conda clean --all 清理缓存 |
其他:
-
不要在 base 环境装项目依赖,为每个项目创建独立环境
-
Conda 管环境,pip 装包,两者可以配合使用
-
导出环境用
--from-history,跨平台兼容性更好 -
用 mamba 加速,体验会好很多
-
配置国内镜像源,下载速度会快很多