Conda 常用命令速查
简介
Conda 是一个开源的包管理和环境管理系统,主要用于 Python,但也支持其他语言(如 R、Ruby、Lua、Scala、Java、JavaScript、C/C++、FORTRAN)。Conda 通过创建相互隔离的环境,解决了不同项目依赖版本冲突的问题,是数据科学和机器学习领域最常用的工具之一。
环境管理
shell
# 创建虚拟环境
conda create -n myenv python=3.9
# 创建环境时同时安装包
conda create -n myenv python=3.9 numpy pandas
# 激活虚拟环境
conda activate myenv
# 退出当前环境
conda deactivate
# 删除虚拟环境
conda remove -n myenv --all
# 查看当前虚拟环境列表
conda env list
# 克隆环境
conda create -n newenv --clone myenv
# 重命名环境(conda 没有直接重命名命令,需要克隆后删除原环境)
conda create -n newenv --clone myenv
conda remove -n myenv --all包管理
shell
# 安装包
conda install numpy
# 安装指定版本的包
conda install numpy=1.21.0
# 从特定渠道安装包
conda install -c conda-forge tensorflow
# 卸载包
conda remove numpy
# 更新包
conda update numpy
# 更新环境中的所有包
conda update --all
# 搜索可用包
conda search numpy
# 查看已安装的包
conda list
# 查看某个环境中已安装的包
conda list -n myenv环境导出与复现
shell
# 导出当前环境到 YAML 文件
conda env export > environment.yml
# 导出环境(不包含渠道信息,更精简)
conda env export --no-builds > environment.yml
# 从 YAML 文件创建环境
conda env create -f environment.yml
# 导出环境为 requirements.txt(仅 pip 包)
pip freeze > requirements.txt常用渠道配置
shell
# 添加清华镜像源
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/pkgs/r
# 设置搜索时显示渠道地址
conda config --set show_channel_urls yes
# 查看当前配置
conda config --show
# 查看已添加的源
conda config --get channels
# 移除指定源
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
# 恢复默认源
conda config --remove-key channelsConda 与 Pip 的区别
| 特性 | Conda | Pip |
|---|---|---|
| 包来源 | Anaconda 仓库、conda-forge | PyPI |
| 语言支持 | Python、R、C/C++ 等 | 仅 Python |
| 环境管理 | 内置 | 需配合 virtualenv/venv |
| 依赖解析 | 更强,处理非 Python 依赖 | 主要处理 Python 包 |
| 编译包 | 提供预编译二进制包 | 部分需本地编译 |
建议:优先使用
conda install安装包,当 conda 找不到包时再用pip install补充。
清理缓存
shell
# 清理未使用的包缓存
conda clean -p
# 清理 tar 包缓存
conda clean -t
# 清理所有缓存(包括索引缓存、锁定文件等)
conda clean --all