conda 常用命令介绍
- 初级命令 主要集中在基本的环境和包管理操作。
- 中级命令 涉及包的更新、安装多个包、查找和删除包,以及环境的克隆和管理。
- 高级命令 用于导出、共享、修复和调试环境的依赖,及清理和优化工作。
一、初级命令
这些是基本的 conda 命令,适合刚开始使用的人。
1. 创建一个新的环境
bash
conda create --name <env_name> <package_name>
示例:创建一个名为 myenv
的新环境,并安装 python
:
bash
conda create --name myenv python
创建 python 版本为x.x,名字为 myenv 的虚拟机环境。
bash
conda create -n myenv python=x.x
2. 查看 conda 版本,验证是否安装
bash
conda --version
3. 激活环境
bash
conda activate <env_name>
示例:激活myenv
环境
bash
conda activate myenv
4. 安装一个包
bash
conda install <package_name>
示例:安装 numpy
:
bash
conda install numpy
5. 退出当前环境
bash
conda deactivate
6. 列出所有环境
bash
conda env list
或
bash
conda info --envs
conda info -e
7. 删除名字为 env_name
的环境
bash
conda remove -n env_name
8. 更新 conda 本身
bash
conda update conda
二、中级命令
这些命令适合有一定基础的人,涉及环境管理和包管理的更多操作。
1. 安装多个包
bash
conda install <package1> <package2> ...
示例:同时安装 pandas
和 matplotlib
:
bash
conda install pandas matplotlib
2. 更新已安装的包
bash
conda update <package_name>
示例:更新 numpy
:
bash
conda update numpy
3. 删除包
bash
conda remove <package_name>
示例:删除 numpy
:
bash
conda remove numpy
4. 列出所有安装的包,可配合筛选grep
使用
bash
conda list
5. 查找包
bash
conda search <package_name>
示例:查找 pandas
包的版本:
bash
conda search pandas
6. 克隆环境
bash
conda create --name <new_env_name> --clone <existing_env_name>
示例:克隆 myenv
环境为 myenv_clone
:
bash
conda create --name myenv_clone --clone myenv
三、高级命令
这些是针对更复杂需求的命令,通常用于环境的定制和调试。
1. 导出环境配置
bash
conda env export > environment.yml
生成的 environment.yml
文件可以共享或备份当前环境的包和版本。
2. 从环境配置文件创建环境
bash
conda env create -f environment.yml
从已有的 environment.yml
文件中创建环境。
3. 环境依赖检查和修复
bash
conda install --update-deps <package_name>
更新并修复包的依赖问题。
4. 清理缓存
bash
conda clean --all
该命令会清除缓存和未使用的包,帮助释放磁盘空间。
5. 查看环境详情
bash
conda info
6. 冻结环境
bash
conda list --explicit > environment.txt
将环境的所有包版本写入一个 environment.txt
文件,便于复制环境。
7. 添加 conda 通道(镜像源)
bash
conda config --add channels <channel_name>
示例:添加一个新的通道 conda-forge
:
bash
conda config --add channels conda-forge
8. 查看环境的优先级
bash
conda config --show channels
conda config --show-source
9. 设置环境的优先级
bash
conda config --set channel_priority strict