Python笔记(二):Conda 常用命令总结
Anaconda是一个包含数据科学常用包的Python发行版本。可以用来安装和管理不同版本的Python程序包。本文总结Anaconda一些常用命令。
在日常应用中,conda命令可以用来如下方面:
- 管理conda环境;
- 在现有的conda环境中安装/升级包;
- 查询/搜索Anaconda包的索引和当前Anaconda的安装;
一、conda环境管理(核心)
Conda 是跨平台的开源包管理和环境管理系统,最初为Python设计,现在支持多种编程语言,可轻松安装包,管理依赖和切换虚拟环境。
在Conda(一种流行的包,依赖和环境管理器)中,管理环境是非常重要的,因为它可以帮助你隔离了不同项目所需的软件版本,避免版本冲突。以下是一些常用的环境管理命令:
1.1 查询所有虚拟环境
bash
conda env list
#或
conda info --envs
说明:列出系统中所有conda虚拟环境,带\(*\)的是当前激活的环境。
1.2 创建虚拟环境
bash
conda create -n 环境名称 python=版本号
示例:创建名为pytorch_env, Python版本为3.12的虚拟环境;
bash
conda create -n pytorch_env python=3.12
说明:\(-n\) 是\(--name\) 的缩写,指定环境名;Python版本根据应用包进行选择;
1.3 激活虚拟环境
bash
#Window 系统
conda activate 环境名
#Linux/macOS 系统(若初始化conda,需要执行 source ~/.bashrc 或 source ~/.zs
conda activate 环境名
示例:激活pytorch_env环境
bash
conda activate pytorch_env
1.4 退出虚拟环境
bash
conda deactivate
说明:退出当前激活环境,回到base环境(默认环境)。
1.5 复制虚拟环境
bash
conda create -n 新环境名 --clone
示例:复制pytorch_env 为 pytorch_env_copy
bash
conda create -n pytorch_env_copy --clone pytorch_env
1.6 删除虚拟环境
bash
conda remove -n 环境名 --all
示 例:删除old_env 环境
bash
conda remove -n old_env --all
注意:删除前需先退出该环境(不能删除当前的环境)。
二、包管理
Conda提供了强大的包管理功能,可以方便地安装,更新和删除包。下面是一些基本的Conda包管理命令:
2.1 安装包
bash
# 在当前环境安装包 (指定版本可选)
conda install 包名==版本号
#安装到指定环境(无需激活该环境)
conda install -n 环境名 包名
示例:在当前环境安装 numpy 1.21.0
bash
conda install numpy==1.21.0
说明:若用conda安装失败,可采用pip(需先激活环境):pip install 包名。
2.2 查看当前环境以安装的包
bash
conda list
说明:列出当前激活环境中所有已安装的包及版本。
2.3 查看指定环境的包
bash
conda list -n 环境名
示例:查看pytorch_env中的包
bash
conda list -n pytorch_env
同时安装多个包:
bash
conda install numpy pandas matplotlib
单命令完成多包安装,减少重复操作,提升效率。
2.4 更新包
bash
#更新指定包
conda update 包名
# 更新当前环境所有包 (谨慎使用,可能导致兼容性问题)
conda update --all
2.5 卸载包
bash
# 卸载当前环境的包
conda remove 包名
# 卸载指定环境的包
conda remove -n 环境名 包名
2.6 搜索包 (查看可用版本)
bash
conda search 包名
示例:搜索pytorch的可用版本
bash
conda search pytorch
三、配置与更新
conda配置管理是使用conda包管理器时的一个重要部分,它允许用户管理环境变量、频道(channels)、配置文件等。以下是一些基本的conda配置管理方法:
3.1 查看conda版本
bash
conda --version
#或
conda -V
3.2 更新conda本身
bash
conda update conda
说明:升级conda到最新版本,确保功能正常。
3.3 配置国内镜像源
bash
# 添加Anaconda仓库镜像
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/main/
# 添加conda-forge仓库镜像(包含更多包)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
# 添加PyTorch镜像(如需安装PyTorch)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
3.4 设置显示通道地址(安装时可看到从哪个源下载)
bash
conda config --set show_channel_urls yes
3.5 查看已配置的镜像源
bash
conda config --show channels
3.6 删除指定镜像源
bash
conda config --remove channels 源地址
四、实用技巧
4.1 导出环境配置(用于复现环境)
bash
# 在当前环境下执行,导出为yaml文件
conda env export > 环境名.yaml
示 例:导出pytorch_env的配置到pytorch_env.yaml
bash
conda env export > pytorch_env.yaml
4.2 从配置文件创建环境
bash
conda env create -f 环境名.yaml
说明:在另一台机器,通过导出的yaml文件可快速创建相同环境。
4.3 清理conda 缓存(释放磁盘空间)
Conda安装的包都在目录\(Anaconda/pkgs\) 下。随着使用,conda安装的包也越来越多;有时候会出现以下不好情况:
- 有些包安装之后,从来没有使用过;
- 一些安装包的tar包也保留在计算机中;
- 由于依赖或者环境等原因,某些包的不同版本重复安装;
以上这些情况使得更加冗余,并且浪费存储;对于这些情况可以使用conda clean净化Anaconda。
bash
# 清理未使用的包和缓存
conda clean -p # 清理未使用的包
conda clean -t # 清理tar包缓冲
conda clean -y --all #清理所有缓存(推荐)