Conda 命令速查

适用平台:Windows / macOS / Linux(PowerShell、bash、zsh 等)。


1. 基础与自检

1
2
3
4
conda --version                 # 查看 conda 版本
conda info # 运行环境与配置概览
conda config --show # 展示所有配置项
conda config --show-sources # 配置文件来源(.condarc 位置)

初始化 shell(只需一次)

1
2
3
4
5
6
# 任选或多选:bash / zsh / fish / powershell / cmd.exe
conda init bash
conda init zsh
conda init fish
conda init powershell
conda init cmd.exe

看到 “No action taken.” 说明已初始化;重开终端即可。

2. 环境(env)管理

2.1 创建 / 激活 / 删除

1
2
3
4
conda create -n myenv python=3.10        # 新建环境并指定 Python 版本
conda activate myenv # 激活
conda deactivate # 退出当前环境
conda env remove -n myenv # 删除环境

按路径创建(无需命名)

1
2
conda create -p /abs/path/to/env python=3.11
conda activate /abs/path/to/env

2.2 查看 / 复制 / “重命名”(变通)

1
2
3
4
conda env list                           # 列出全部环境
conda list # 查看当前环境已装包
conda create -n newenv --clone oldenv # 克隆环境(等价复制)
# “重命名”做法:clone 新名 -> 测试 -> 删除旧名

2.3 导出 / 复现(YAML / explicit)

1
2
3
4
5
6
7
8
9
10
11
12
13
# 常用:仅记录手动安装的包(更简洁、便于跨平台)
conda env export --from-history > env.yaml

# 完整:含解算后所有具体版本(可更精确复现)
conda env export > env_full.yaml

# 用 YAML 复现
conda env create -f env.yaml # 新建
conda env update -f env.yaml # 覆盖更新到当前环境

# 完全可复现(explicit 方案)
conda list --explicit > spec.txt
conda create --name newenv --file spec.txt

2.4 环境变量(持久化到某个 env)

1
2
3
conda env config vars set KEY1=VALUE1 KEY2=VALUE2 -n myenv
conda env config vars list -n myenv
conda env config vars unset KEY1 KEY2 -n myenv

3. 包(package)管理

3.1 安装 / 升级 / 卸载

1
2
3
4
5
6
conda search numpy                           # 搜索包
conda install numpy=1.26 # 指定版本
conda install scipy pandas -c conda-forge # 指定渠道安装多个包
conda update numpy # 升级单个包
conda update --all # 升级环境里所有包(慎用)
conda remove pandas # 卸载

离线安装(.conda / .tar.bz2)

1
conda install --offline /path/to/pkg.conda

固定/禁止升级某些包(pin):在环境的 conda-meta/pinned 写入:

1
2
pytorch 2.3.*
numpy ==1.26.4

3.2 与 pip 共存(推荐顺序)

  • conda install ...,再 pip install ...
  • 导出环境时常用 --from-history,避免把 pip 的解算结果写死

示例

1
2
conda install pytorch torchvision -c pytorch -c nvidia
pip install some_pkg_not_in_conda

4. 渠道(channel)与配置

1
2
3
4
conda config --add channels conda-forge           # 添加渠道
conda config --remove channels conda-forge # 移除渠道
conda config --set channel_priority strict # 严格优先级(推荐)
conda config --show channels # 查看当前渠道顺序

常用全局设置

1
2
3
conda config --set auto_activate_base false       # 禁止启动时自动激活 base
conda config --set notify_outdated_conda false # 关闭过期提示(可选)
conda config --set default_channels "https://repo.anaconda.com/pkgs/main,https://repo.anaconda.com/pkgs/r"

5. 清理与排错

1
2
3
4
5
conda clean --all -y            # 清理索引/包缓存/解压缓存(释放磁盘)
conda clean --packages -y # 仅清理未被引用的包
conda update conda # 升级 conda 自身
conda info --envs # 环境路径是否异常/重复
conda config --show-sources # 检查 .condarc 来源是否冲突

快速自检

1
2
3
conda run -n myenv python -V    # 不激活环境,直接在 myenv 里跑命令
which conda # (Unix) 定位 conda 路径
where conda # (Windows) 定位 conda 路径

6. 与 CUDA / PyTorch 的常见组合

多数官方 PyTorch 包自带 CUDA 运行时,只要求 NVIDIA 驱动足够新。优先使用官网向导生成命令。

conda 安装示例

1
2
3
4
5
6
7
# CUDA 11.8 版本的 PyTorch 2.3.x
conda install pytorch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 \
pytorch-cuda=11.8 -c pytorch -c nvidia

# CUDA 12.1 版本的 PyTorch 2.3.x
conda install pytorch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 \
pytorch-cuda=12.1 -c pytorch -c nvidia

pip(可在 conda 环境内使用)

1
2
3
4
5
6
7
# 带 CUDA 的索引(示例,按需替换 cu118/cu126/cu128)
pip install torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1 \
--index-url https://download.pytorch.org/whl/cu118

# 仅 CPU
pip install torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1 \
--index-url https://download.pytorch.org/whl/cpu

安装后校验

1
2
3
import torch
print(torch.__version__, torch.version.cuda, torch.cuda.is_available())
print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else "CPU only")

7. 常见工作流模板

A. 新项目从 0 开始

1
2
3
4
5
6
conda create -n proj python=3.11
conda activate proj
conda config --env --set channel_priority strict
conda install -c conda-forge numpy pandas matplotlib
pip install black ruff
conda env export --from-history > env.yaml

B. 团队复现环境

1
2
3
4
git clone <repo>
conda env create -f env.yaml
conda activate <env_name_from_yaml>
pip install -r requirements.txt # 若项目还提供了此文件

C. 清理磁盘

1
conda clean --all -y

建议

  • 保持 channel_priority strict
  • 新环境尽量用 --from-history 导出;
  • 先 conda 后 pip,减少解算冲突。