Python笔记(二):Conda 常用命令总结

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 #清理所有缓存(推荐)