当前位置: 欣欣网 > 码农

是时候跟Conda说再见了

2024-04-26码农

添加微信号 " CNFeffery "

备注 " 数据分析 " 入技术交流群

本文已收录至我的 Github 仓库https://github.com/CNFeffery/DataScienceStudyNotes

1 简介

大家好我是费老师, conda 作为 Python 数据科学领域的常用软件,是对 Python 环境及相关依赖进行管理的经典工具,通常集成在 anaconda miniconda 等产品中供用户日常使用。

但长久以来, conda 在很多场景下运行缓慢卡顿、库解析速度过慢等问题也一直被用户所诟病,且由于 anaconda miniconda 本身属于 「商业性质」 的软件产品,导致很多公司在未获得商业许可的前提下,内部使用 anaconda miniconda 下载安装非开源许可渠道的软件库资源,被 anaconda 检测出企业IP地址,进而收到相关的律师函警告,引发了一系列的商业风险。

在这样的大背景下,由开源软件社区驱动的 conda-forge 组织发展迅速,提供了可 免费使用 无商业风险 稳定高效 的一系列开源工具及网络资源服务,今天我要给大家介绍的 miniforge ,就由 conda-forge 组织开发维护,可作为 anaconda miniconda 的替代品。

2 miniforge的安装及使用

2.1 下载安装miniforge

miniforge 官方安装包下载页( https://conda-forge.org/miniforge/ )中的安装包资源托管在 Github 上:

国内的朋友可以通过清华大学镜像站对 miniforge 安装包资源进行加速下载( https://mirrors.tuna.tsinghua.edu.cn/github-release/conda-forge/miniforge/ ),选择与自己系统相符合的版本进行下载即可,以 windows 为例,下载当前最新版本对应的 Miniforge3-24.3.0-0-Windows-x86_64.exe

下载完成后,双击打开进行安装(安装前建议 「清空」 电脑上先前残留的其他 Python 环境):

点击 I Agree

下一步:

选择或自定义安装路径:

根据推荐提示,悉数进行勾选:

等待安装完成即可:

2.2 配置环境变量

针对 windows 系统,由于新版本的 miniforge 在安装时不再提供自动创建相关环境变量的选项,因此需要我们手动将相关路径添加到系统 PATH 中,譬如,我的 miniforge 自定义安装在本机的 C:\miniforge 中,就至少需要添加 C:\miniforge C:\miniforge\Scripts C:\miniforge\Library\bin 这几个路径:

上述过程完成后,可以在本机终端中执行 mamba -V 查看相关版本信息( miniforge 中包含了最小化的 conda mamba ),检验上述配置是否完成:

2.3 miniforge常用功能

上文提到过, miniforge 中同时内置了包管理工具 conda mamba ,其中 mamba 「完全」 作为 conda 功能的替代,且运行效率优于 conda ,我们只需要将平时熟悉的 conda 命令中的 conda 替换为 mamba 即可,譬如:

  • 「查看已有虚拟环境」

  • 「激活指定虚拟环境」

  • 注:如果初次执行 activate 命令失败,按照提示信息执行 mamba init 命令,再重新打开终端即可。

  • 「创建新的虚拟环境」

  • 注: miniforge 默认将 conda-forge 作为下载源。

    如果嫌默认的 conda-forge 网速太慢,可以像 conda 那样通过 -c 参数自定义镜像源,如下面的例子中使用到南方科技大学的 main 源,速度就快了许多:

    mamba create -n data-science python=3.9 -c https://mirrors.sustech.edu.cn/anaconda/pkgs/main/ -y

  • 「安装指定库」

  • 这里我们以依赖包众多的 GIS 分析库 geopandas 为例, mamba 在短时间内完成初始化解析后,非常流畅地以并行的方式迅速完成了各依赖库的下载及安装过程(同样的操作, conda 大概率会一直卡顿下去直至失败。。。):

  • 「移除指定虚拟环境」

  • 「清空本地缓存」

  • 更多用法请移步 mamba 官方文档: https://mamba.readthedocs.io/

    以上就是本文的全部内容,欢迎在评论区与我们进行讨论~

    加入知识星球 【我们谈论数据科学】

    700+ 小伙伴一起学习!

    · 推荐阅读 ·