(数据科学学习手札160)使用miniforge代替miniconda

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

1 简介

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

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

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

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:\miniforgeC:\miniforge\ScriptsC:\miniforge\Library\bin这几个路径:

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

2.3 miniforge常用功能

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

  • 查看已有虚拟环境
  • 激活指定虚拟环境

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

  • 创建新的虚拟环境

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

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

bash 复制代码
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/


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

相关推荐
电化学仪器白超2 分钟前
20251209Ver8调试记录(补充电路板编号8-3)
python·单片机·嵌入式硬件·自动化
宁大小白4 分钟前
pythonstudy Day42
开发语言·python
bAdwoMan*5 分钟前
安装xformer后,不存在triton
python
零小陈上(shouhou6668889)5 分钟前
西红柿叶病害检测(yolov8模型,从图像、视频和摄像头三种路径识别检测,包含登陆页面、注册页面和检测页面)
开发语言·python·yolo
superman超哥6 分钟前
仓颉Result类型的错误处理模式深度解析
c语言·开发语言·c++·python·仓颉
张一爻12 分钟前
BERT + CRF实现的中文 NER模型训练
人工智能·python·bert
深蓝海拓14 分钟前
PySide6从0开始学习的笔记(十六) 定时器QTimer
笔记·python·qt·学习·pyqt
q_302381955630 分钟前
YOLOv11训练NEU-DET钢材缺陷数据集并部署香橙派推理全流程
人工智能·python·深度学习·课程设计
WizLC32 分钟前
【后端】面向对象编程是什么(附加几个通用小实例项目)
java·服务器·后端·python·设计语言
小白学大数据34 分钟前
构建新闻数据爬虫:自动化提取与数据清洗技巧
运维·爬虫·python·自动化