(数据科学学习手札160)使用miniforge代替miniconda
本文已收录至我的
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/
以上就是本文的全部内容,欢迎在评论区与我们进行讨论~
(数据科学学习手札160)使用miniforge代替miniconda的更多相关文章
- (数据科学学习手札42)folium进阶内容介绍
一.简介 在上一篇(数据科学学习手札41)中我们了解了folium的基础内容,实际上folium在地理信息可视化上的真正过人之处在于其绘制图像的高度可定制化上,本文就将基于folium官方文档中的一些 ...
- (数据科学学习手札55)利用ggthemr来美化ggplot2图像
一.简介 R中的ggplot2是一个非常强大灵活的数据可视化包,熟悉其绘图规则后便可以自由地生成各种可视化图像,但其默认的色彩和样式在很多时候难免有些过于朴素,本文将要介绍的ggthemr包专门针对原 ...
- (数据科学学习手札50)基于Python的网络数据采集-selenium篇(上)
一.简介 接着几个月之前的(数据科学学习手札31)基于Python的网络数据采集(初级篇),在那篇文章中,我们介绍了关于网络爬虫的基础知识(基本的请求库,基本的解析库,CSS,正则表达式等),在那篇文 ...
- (数据科学学习手札49)Scala中的模式匹配
一.简介 Scala中的模式匹配类似Java中的switch语句,且更加稳健,本文就将针对Scala中模式匹配的一些基本实例进行介绍: 二.Scala中的模式匹配 2.1 基本格式 Scala中模式匹 ...
- (数据科学学习手札47)基于Python的网络数据采集实战(2)
一.简介 马上大四了,最近在暑期实习,在数据挖掘的主业之外,也帮助同事做了很多网络数据采集的内容,接下来的数篇文章就将一一罗列出来,来续写几个月前开的这个网络数据采集实战的坑. 二.马蜂窝评论数据采集 ...
- (数据科学学习手札44)在Keras中训练多层感知机
一.简介 Keras是有着自主的一套前端控制语法,后端基于tensorflow和theano的深度学习框架,因为其搭建神经网络简单快捷明了的语法风格,可以帮助使用者更快捷的搭建自己的神经网络,堪称深度 ...
- (数据科学学习手札40)tensorflow实现LSTM时间序列预测
一.简介 上一篇中我们较为详细地铺垫了关于RNN及其变种LSTM的一些基本知识,也提到了LSTM在时间序列预测上优越的性能,本篇就将对如何利用tensorflow,在实际时间序列预测任务中搭建模型来完 ...
- (数据科学学习手札36)tensorflow实现MLP
一.简介 我们在前面的数据科学学习手札34中也介绍过,作为最典型的神经网络,多层感知机(MLP)结构简单且规则,并且在隐层设计的足够完善时,可以拟合任意连续函数,而除了利用前面介绍的sklearn.n ...
- (数据科学学习手札32)Python中re模块的详细介绍
一.简介 关于正则表达式,我在前一篇(数据科学学习手札31)中已经做了详细介绍,本篇将对Python中自带模块re的常用功能进行总结: re作为Python中专为正则表达式相关功能做出支持的模块,提供 ...
- (数据科学学习手札69)详解pandas中的map、apply、applymap、groupby、agg
*从本篇开始所有文章的数据和代码都已上传至我的github仓库:https://github.com/CNFeffery/DataScienceStudyNotes 一.简介 pandas提供了很多方 ...
随机推荐
- Vite+TS项目:论如何便捷的使用pinia
这里给大家分享我在网上学习总结出来的一些知识,希望对大家有所帮助 pinia 介绍 vue新一代状态管理库,相当于vuex 特性 1.像定义components一样定义store 2.支持ts 3.去 ...
- LocalDate获取指定月的上个月的第一天和最后一天
LocalDate date = LocalDate.of(2022, 8, 30); LocalDate lastMonth = date.minusMonths(1); // 当前月份减1 Loc ...
- Win10下安装Java JDK 1.8 配置环境变量
1.下载地址:https://www.oracle.com/java/technologies/javase-downloads.html 2.双击运行,下一步.下一步-- 3.新建变量名:JAVA_ ...
- 为什么医疗保健需要MFT来帮助保护EHR文件传输
毫无疑问,医疗保健行业需要EHR技术来处理患者,设施,提供者等之间的敏感患者信息.但是,如果没有安全的MFT解决方案,您将无法安全地传输患者文件,从而使您的运营面临遭受数据泄露,尴尬,声誉损失以及随之 ...
- verilog注释及vscode插件terosHDL
模型功能 实现代码的注释的方法 基于vscode的文档自动生成 模型框图 `timescale 1ns / 1ps /* */ // ********************************* ...
- X-Y问题
什么是X-Y问题 X-Y问题就是有人想解决问题X,他觉得Y可能是解决X的方法但不知道Y怎么做:在我们的工作中,需求方给出的来的是Y,而软件工程师不知道需要解决的X是什么. 我理解的X-Y问题是没有找到 ...
- KingbaseES数据目录结构
KingbaseES数据库结构 [kingbase@postgres V8]$ tree -LP 2 data/ . ├── data │ ├── base # 存储用户创建的数据库文件及隶属于用 ...
- 【已解决】ajax和flask路由传json格式数据出现undefined和object错误
描述一下问题背景: 前台封装一个json字符串给后台传输数据,后台的ajax获取请求之后把接收的数据显示到前台html表格上. jsonify:这个方法可以把字典转化为json字符串 通过jsonif ...
- 刘潇翔:基于OpenHarmony的仿生四足狗开发分享
说起人工智能机器人界的网红,那就不得不提到--"机器狗".此前,著名机器人公司波士顿动力制造的"Spot"机器狗.国内知名科技企业蔚蓝科技自主设计研发的&qu ...
- R语言学习1:基本数据类型,文件读取
本系列是一个新的系列,在此系列中,我将和大家共同学习R语言.由于我对R语言的了解也甚少,所以本系列更多以一个学习者的视角来完成. 参考教材:<R语言实战>第二版(Robert I.Kaba ...