Conda安装与使用

概要

本文详细介绍了Conda这一开源的包与环境管理系统。Conda支持Python等多语言,具备安装、更新软件包以及创建独立环境以隔离项目依赖的功能。其功能涵盖包管理(支持多来源,相较于pip更为强大)和环境管理(可实现多环境独立,避免版本冲突)。Conda有Anaconda(预装众多软件包,适合初学者)和Miniconda(体积小巧,适合进阶用户)两个版本,并提供了安装配置步骤、基本命令(如环境的创建、激活,包的安装、更新等)。此外,文章还对比了Conda与Pip的区别,同时给出了国内镜像源的配置方法,以提升下载速度。

  • Conda作为开源的包与环境管理系统,具备多语言兼容性,能够有效隔离项目软件包版本。
  • Conda的包管理功能支持安装多语言软件包及其依赖项,软件包来源包括Anaconda仓库、Conda - Forge和PyPl。
  • Conda的环境管理功能可创建独立的运行环境,从而避免不同项目软件包版本之间的冲突。
  • Conda有Anaconda和Miniconda两个版本,二者的差异主要体现在预安装软件包数量和体积大小上,Anaconda适合初学者,Miniconda则更适合进阶用户。
  • Conda的安装需从官网下载安装包,建议在安装过程中勾选添加环境变量选项,可使用conda --version或 - V命令检测安装是否成功。
  • Conda的环境操作命令包括:创建、激活、退出、列出、删除、重命名、导出和导入环境。
  • Conda的包管理命令包括:安装、列出、更新、删除和搜索软件包。
  • Conda与Pip的区别主要体现在管理范围、环境隔离能力、安装方式和可用包数量等方面。
  • 配置国内镜像源能够显著提升Conda的下载速度,主流的镜像源有清华、中科大、阿里云和华为云,配置时需设置严格的频道优先级。

简介

Conda作为一款开源的包管理与环境管理系统,尽管主要应用于Python编程环境,但同样兼容R、Java、C/C++等多种编程语言。它功能强大,不仅能够协助用户完成软件包及其依赖项的安装、运行与更新操作,还能创建独立的“环境”,以隔离不同项目所需的软件包版本。


主要功能

1. 包管理

  • 相较于pip,Conda功能更为强大。它不仅能安装Python包,还支持非Python软件或库的安装,例如numpy的C依赖。
  • 软件包的主要来源如下:
    • Anaconda仓库(默认):该仓库拥有大量预编译的科学计算包
    • Conda - Forge:作为社区维护的仓库,其软件包更新更为及时
    • PyPl:可通过pip进行安装(在Conda环境中,pip与Conda可混合使用,但建议优先使用Conda)。

2. 环境管理

  • Conda支持创建多个相互独立的运行环境,每个环境都配备独立的Python版本和软件包集合。
  • 它能有效解决不同项目对软件包版本的冲突问题。
  • 各环境之间实现了完全隔离。

Conda安装

版本选择

特性

Anaconda

Miniconda

定位

数据科学发行版(适合初学者/开箱即用)

Conda最小化安装器(适合进阶用户/自定义)

安装包大小

~3GB

~100MB(小巧)

预装内容

包含Conda+Python+250+个数据科学包(如NumPy,Jupyter,SciPy)以及图像化界面Anaconda Navigator

仅包含Conda和Python,没有预装任何额外科学计算包。

使用场景

  1. 初学者,想立即开始数据分析而不纠结环境
  2. 教育/教学,环境统一
  3. 需要大量常用数据科学工具,且磁盘空间充足
  1. 有经验的开发者,清楚自己需要什么包
  2. 服务器/磁盘空间有限的环境
  3. 需要创建纯净、定制化的项目环境
  4. 作为Docker镜像的基础层

灵活性

较低(预安装包多,有时可能包含不需要的包)

极高(从零开始构建,完全按需安装)

后续管理

可以用Conda自由安装/卸载任何包

需要用Conda手动安装每一个所需的包

安装及配置

Anaconda官网:https://www.anaconda.com/download

Miniconda官网:https://conda.io/miniconda.html

下载后双击运行安装包即可,无需额外安装Python环境。安装过程中出现Advanced option选项,第一个选项是将Conda的路径加入环境变量(建议勾选),第二个选项是默认将Conda安装的Python定为系统使用的默认版本。

 

检测conda是否安装成功,若返回conda版本号,则表明安装成功。

conda --version
或者
conda -V

若命令无法识别,不一定是安装失败,也可能是环境变量未配置。安装Conda后,必须将其脚本目录添加到系统的PATH中,才能在终端直接使用conda命令。

若安装时未勾选自动配置环境变量,也可按照下图手动将本地的Conda安装路径配置到PATH中:

 


Conda基本命令

环境操作

# 创建新环境,指定python版本
conda create -n myenv python=3.13

# 激活环境(Windows 与 Linux/macOS命令不同)
conda activate myenv    # Windows/Linux/macOS(新版Conda)
source activate myenv    # Linux/macOS(旧版)

# 退出当前环境
conda deactivate

# 列出所有环境
conda env list

# 删除环境
conda env remove -n myenv

# 重命名环境,将myenv重命名为new_env
conda create -n new_env --clone myenv

# 导出环境配置(用于共享或备份)
conda env export > environment.yml

# 从YAML文件创建环境
conda env create -f environment.yml

包管理

# 安装包(在当前激活环境中)
conda install numpy pandas matplotlib
conda install numpy=1.21.2    # 指定版本

# 从特定渠道安装(如conda-forge)
conda install -c conda-forge opencv

# 列出当前环境的包
conda list

# 更新包
conda update numpy
conda update --all    # 更新所有包

# 删除包
conda remove numpy

# 搜索包
conda search tensorflow

Conda与Pip的区别

Conda

Pip

可以管理Python包和非Python依赖(如HDF5、MKL等)

仅管理Python包

环境隔离是内置核心功能

依赖venv或virtualenv做环境隔离

预编译包(二进制),安装更快,避免编译问题

有时需要从源码编译(可通过wheel缓解)

包数量通常少于PyPl,但包含大量科学计算包

PyPl包数量更多


Conda配置国内镜像源

为Conda配置国内镜像源可显著提升下载速度,避免因网络问题导致安装失败。以下是主流镜像源的配置方法和验证步骤。

一键快速配置(以清华源为例)

打开终端(Anaconda Prompt或系统终端),一次性执行以下所有命令即可完成配置:

# 1. 添加清华镜像源频道(包含 main, conda-forge, free)
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/cloud/conda-forge/

# 2. 设置搜索时显示频道地址
conda config --set show_channel_urls yes

# 3. (关键)设置严格的频道优先级,避免混合源导致的依赖冲突
conda config --set channel_priority strict

其他主流镜像源

若需要其他镜像源,或企业级镜像,可参考以下配置:

中国科技大学 USTC

特点:下载速度快,在教育网环境下优势明显

# 1. 添加镜像源频道(包含 main, conda-forge, free)
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
# 2. 设置搜索时显示频道地址 
conda config --set show_channel_urls yes
# 3. (关键)设置严格的频道优先级,避免混合源导致的依赖冲突
conda config --set channel_priority strict

阿里云 Aliyun

特点:由商业公司维护,网络兼容性良好

# 1. 添加镜像源频道(包含 main, conda-forge, free)
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main/
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/free/
conda config --add channels https://mirrors.aliyun.com/anaconda/cloud/conda-forge/
# 2. 设置搜索时显示频道地址 
conda config --set show_channel_urls yes
# 3. (关键)设置严格的频道优先级,避免混合源导致的依赖冲突
conda config --set channel_priority strict

华为云 HuaweiCloud

特点:提供企业级服务,稳定性高

# 1. 添加镜像源频道(包含 main, conda-forge, free)
conda config --add channels https://mirrors.huaweicloud.com/repository/anaconda/pkgs/main/
conda config --add channels https://mirrors.huaweicloud.com/repository/anaconda/pkgs/free/
conda config --add channels https://mirrors.huaweicloud.com/repository/anaconda/cloud/conda-forge/
# 2. 设置搜索时显示频道地址 
conda config --set show_channel_urls yes
# 3. (关键)设置严格的频道优先级,避免混合源导致的依赖冲突
conda config --set channel_priority strict

 

posted @ 2026-01-18 16:57  不思量一口干  阅读(2)  评论(0)    收藏  举报