(数据科学学习手札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提供了很多方 ...
随机推荐
- 记录--css水滴登录界面
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 今天我们来分享一款非常有趣的登录界面,它使用HTML和CSS制作,具有动态的水波纹效果,让用户在登录时感受到了一股清凉之感. 基本h ...
- Java获取客户端IP地址进行记录
1.编写工具类IpUtils public class IpUtils { /** * 访问IP:0:0:0:0:0:0:0:1 * 访问IP:192.168.1.10 */ private stat ...
- KingbaseES例程_普通表在线转分区表(基于触发器)
KingbaseES例程_普通表在线转分区表 概述 普通表转分区表,使用视图的替换式触发器,以路由方式,实现在线转移数据. 数据准备 /*普通大表*/ create table tab_single ...
- KingbaseES V8R6在解决复制冲突中hot_standby_feedback参数的重要性
背景 如果我们看到这样的类似报错:那说明可能遇到了复制冲突. 复制冲突的理解:当备库正在应用主库传输过来的wal日志与备库正在进行的查询产生冲突就会有此报错.比如说备库正在执行基于某个表的查询,这时主 ...
- Python爬虫爬取爱奇艺电影片库首页
1 import time 2 import traceback 3 import requests 4 from lxml import etree 5 import re 6 from bs4 i ...
- 汇编语言-使用BIOS进行键盘输入和磁盘读写
int9中断例程对键盘输入的处理 键盘输入将引发9号中断,BIOS提供了int9中断例程.CPU在9号中断发生后,执行int 9中断例程,从60h端口读出扫描码,并将其转化为相应的ASCII码或状 ...
- Visual Studio快捷键总览,推荐VS+Resharper实现高效开发
VS2022之后,其实还挺好用的,但个人还是习惯VS+Resharper的强强组合,尤其是Ctrl+N快捷键的全局搜,比VS自带的Ctrl+T好用太多了,Ctrl+B还能直接查看反编译之后的dll的方 ...
- #单调队列#JZOJ 1753 锻炼身体
题目 一个\(n*m\)的矩阵,有些格子不能经过,有\(k\)个时段, 要么停留某个格子,要么沿时段规定的方向移动,问最多能够移动多少次 \(n,m,k\leq 200\) 分析 题目已经提示了\(O ...
- 深入理解 Spring IoC 和 DI:掌握控制反转和依赖注入的精髓
在本文中,我们将介绍 IoC(控制反转)和 DI(依赖注入)的概念,以及如何在 Spring 框架中实现它们. 什么是控制反转? 控制反转是软件工程中的一个原则,它将对象或程序的某些部分的控制权转移给 ...
- CMake 构建指南:如何提高 C/C++ 项目的可维护性
如果您是一位C/C++开发人员,那么您一定知道在编写和维护大型项目时所面临的挑战.这些项目通常包含大量的源代码.库和依赖项,需要耗费大量的时间和精力才能构建和维护.在这种情况下,使用自动化工具可以大大 ...