【Python开源环境】Anaconda/Miniconda

发布于:2025-08-30 ⋅ 阅读:(14) ⋅ 点赞:(0)

Python 环境与包管理工具介绍

随着 Python 在数据科学、人工智能和自动化领域的广泛应用,其包管理与环境隔离机制也经历了深刻的演进。接下来,我们聊聊现代见过的Python 开发环境的构建逻辑。

第一个是pip: Python原生包管理器

在早期,Python 社区缺乏统一的包安装工具。直到 pip 的出现,才实现了通过命令行一键安装第三方库:

pip install package_name

2000 年代末,虽然 Matlab(商业软件) 和 R语言(统计专用) 在科学计算领域占据主导地位,但:Matlab 价格昂贵,不利于普及;R 语法相对小众,扩展性有限;Python 语法简洁、开源免费、社区活跃。

于是,开发者开始尝试用 Python 进行数据分析。然而,纯 Python 实现的数值计算性能较差,因此出现了用 C/Fortran 编写的底层数学库(如 BLAS、LAPACK),并通过 Python 封装调用,形成了如:

  • NumPy:多维数组与线性代数
  • SciPy:科学计算函数库
  • Pandas:数据处理与分析

这些库极大提升了 Python 的计算效率,真正实现了“语法简洁 + 性能高效”的结合。

在早期(2013 年 wheel 格式出现前)存在严重问题:

  • 安装含 C 扩展的包(如 NumPy)需本地编译;
  • 用户必须手动配置编译器、数学库(如 MKL、OpenBLAS);
  • 跨平台支持差,尤其在 Windows 上体验极差。

 直到 wheel 二进制包格式(PEP 427)普及后,pip 才能高效安装预编译包,显著改善用户体验。

第二个是conda:跨语言的包与环境管理器

为解决科学计算中复杂的依赖关系,Continuum Analytics 公司于 2012 年发布了 Anaconda Distribution,并引入了全新的包管理器conda

// 核心功能
# 安装包
conda install package_name
# 卸载包
conda uninstall package_name
# 创建独立环境
conda create -n myenv python=3.9

conda 的优势在于:

  • 支持 跨语言(Python、R、Julia、C 等);
  • 管理 非 Python 依赖(如编译器、CUDA、FFmpeg);
  • 内置环境隔离机制;
  • 提供跨平台二进制包(无需编译);

Anaconda 的默认仓库:defaults

Anaconda 公司维护了一个官方软件源(称为 channel),托管在 Package repository for anaconda | Anaconda.org 平台:

  • main:主流 Python 包

  • r:R 语言相关包

  • msys2:Windows 上的类 Unix 工具链(用于兼容性)

第三个 miniconda:轻量级 conda 发行版

Anaconda 包含大量预装工具(约 200+ 包),体积庞大(数 GB)。对于只需核心功能的用户,miniconda 应运而生。他的特点:仅包含 conda、Python 和少量必要依赖;启动快,占用空间小(~100MB);可按需安装所需包。

第四个 conda-forge:开源社区驱动的软件源

由于 conda 的官方仓库由公司维护,更新慢、包数量有限,社区于 2015 年发起了 conda-forge 项目。conda-forge是一个完全由开源社区维护的 conda channel,它托管在 conda-forge | Anaconda.org;优点在于包更新快、数量多、质量高。

如今,conda-forge 已成为 anaconda.org 上最大的 channel,并逐渐成为事实标准。

// 使用conda forge
conda install -c conda-forge package_name
conda create -n myenv -c conda-forge python=3.11

Anaconda指的是一个非常强大的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。因为包含了大量的科学包,Anaconda 的下载文件比较大,如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)

conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换

下载:
        https://repo.anaconda.com/miniconda/
        https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/

安装Anaconda:

①:打开安装包,点击 Next

②:同意协议,点击 I Agree

③:选择同意哪些用户使用此软件,任意选择即可

④:修改安装路径,优先推荐除C盘外的其他盘,路径不要有特殊字符,不然后期创建虚拟环境可能会出现问题

⑤:增加环境变量到系统,勾选增加环境变量,点击安装

⑥:完成安装,点击 Next

⑦:完成安装后不需要勾选这两个选项

⑧:确认是否安装完成,通过PowerShell查看,显示除出版本号,说明安装成功

Conda虚拟环境介绍与管理

Python 应用经常需要使用一些包第三方包或者模块,有时需要依赖特定的包或者库的版本,所以不能有一个能适应所有 Python 应用的软件环境

很多时候不同的 Python 应用所依赖的版本是冲突的,满足了其中一个,另一个则无法运行,解决这一问题的方法是虚拟环境

虚拟环境是一个包含了特定 Python 解析器以及一些软件包,不同的应用程序可以使用不同的虚拟环境,从而解决了依赖冲突问题,而且虚拟环境中只需要安装应用相关的包或者模块,可以给部署提供便利

建议:如果使用anaconda进行多个项目开发,最好创建不同的虚拟环境,也就是为每个项目配置独立的虚拟环境,使得彼此之间不会受到任何干扰

Anaconda虚拟环境命令
//显示已存在虚拟环境
conda info --envs

//创建虚拟环境
conda create -n 虚拟环境名称 python=版本号

//删除虚拟环境
conda remove -n 虚拟环境名称 --all

//激活\进入虚拟环境
activate 虚拟环境名称

//退出虚拟环境
deactivate 虚拟环境名称

注意:

  • 创建虚拟环境后,默认会在Anaconda安装目录的envs下,创建虚拟环境相关文件

  • 创建的虚拟环境仅安装一些必须软件包,例如pip等。如果需要安装Anaconda所有库,需要使用如下命令:
     

    conda create -n 虚拟环境名称 python=版本号 anaconda
    

在使用过程中可能会发生PowerShell无法激活虚拟环境问题,就是说在使用PowerShell激活虚拟环境时,发现激活无效,而在CMD中可以

解决方案:

  1. 检查是否是执行脚本的权限,或者直接开启权限,使用管理员权限下,执行命令:
    Set-ExecutionPolicy RemoteSigned ,输入Y即可
  2. 必须将Anaconda 写入环境变量。使用管理员权限下,执行命令:
    conda init powershell
  3. Conda版本小于4.6,编写命令不加conda命令: activate 环境名
    Conda版本大于4.6使用:conda activate 环境名

修改完后,重启下powershell

PowerShell中显示虚拟环境名称:

在终端输入 conda config --set auto_activate_base false 不显示

在终端输入 conda config --set auto_activate_base true 显示

Conda软件包_模块管理

conda是一个软件的管理器,可以用来下载,删除Python的软件包(类似PIP)
        安装:conda install 软件/模块
        卸载:conda remove 软件/模块
        查看:conda list

pip管理
        安装:pip install 软件/模块
        卸载:pip uninstall 软件/模块
        查看:pip list

conda对比 pip

conda在安装包时会同时处理所有依赖关系,包括:Python解释器版本,C/C++库,CUDA等硬件,相关的依赖,其他编程语言的依赖。

conda使用严格的依赖解析器,可以预先检查所有依赖冲突;pip只管理Python包,不管理系统级别的依赖

数据源与路径设置

Anaconda配置文件:
        Linux用户可以通过修改用户目录下的 .condarc 文件
        Windows用户无法直接创建名为 .condarc 文件,可以先执行 conda config 命令,会生成该文件之后再修改.

清华大学开源软件镜像站 anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

在 .condarc文件中 修改为以下内容

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

要注意,环境中可能不止有一个.condarc文件,可以通过 conda info 命令查看

真正再去运用的时候,他的顺序是D盘的配置文件,然后是C盘的配置文件,所以说,即使在C盘中创建.condarc文件,也有可能不适用,主要走的是根目录下的配置文件,所以我们修改根目录的.condarc文件就行了.

在配置好文件后,可以通过 conda info 命令查看是否配置成功:

可以观察到,channel URLS中的内容修改为我们添加的内容,即配置文件成功.

另一种方法是以命令的方式配置数据源

命令方式配置conda数据源:

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 config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/

命令方式配置pip数据源:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

设置虚拟环境目录:

上图中D盘的虚拟环境目录是主要的,下面两个C盘的是备用的,尽量不用系统盘的虚拟环境目录,使用如下命令设置虚拟环境目录:

envs_dirs:
  - D:\miniconda3\envs

设置缓存软件目录:

我们可以通过使用如下命令配置缓存目录:

pkgs_dirs:
  - D:\miniconda\pkgs


网站公告

今日签到

点亮在社区的每一天
去签到