本文已收录至我的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源,速度就快了许多:

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的更多相关文章

  1. (数据科学学习手札42)folium进阶内容介绍

    一.简介 在上一篇(数据科学学习手札41)中我们了解了folium的基础内容,实际上folium在地理信息可视化上的真正过人之处在于其绘制图像的高度可定制化上,本文就将基于folium官方文档中的一些 ...

  2. (数据科学学习手札55)利用ggthemr来美化ggplot2图像

    一.简介 R中的ggplot2是一个非常强大灵活的数据可视化包,熟悉其绘图规则后便可以自由地生成各种可视化图像,但其默认的色彩和样式在很多时候难免有些过于朴素,本文将要介绍的ggthemr包专门针对原 ...

  3. (数据科学学习手札50)基于Python的网络数据采集-selenium篇(上)

    一.简介 接着几个月之前的(数据科学学习手札31)基于Python的网络数据采集(初级篇),在那篇文章中,我们介绍了关于网络爬虫的基础知识(基本的请求库,基本的解析库,CSS,正则表达式等),在那篇文 ...

  4. (数据科学学习手札49)Scala中的模式匹配

    一.简介 Scala中的模式匹配类似Java中的switch语句,且更加稳健,本文就将针对Scala中模式匹配的一些基本实例进行介绍: 二.Scala中的模式匹配 2.1 基本格式 Scala中模式匹 ...

  5. (数据科学学习手札47)基于Python的网络数据采集实战(2)

    一.简介 马上大四了,最近在暑期实习,在数据挖掘的主业之外,也帮助同事做了很多网络数据采集的内容,接下来的数篇文章就将一一罗列出来,来续写几个月前开的这个网络数据采集实战的坑. 二.马蜂窝评论数据采集 ...

  6. (数据科学学习手札44)在Keras中训练多层感知机

    一.简介 Keras是有着自主的一套前端控制语法,后端基于tensorflow和theano的深度学习框架,因为其搭建神经网络简单快捷明了的语法风格,可以帮助使用者更快捷的搭建自己的神经网络,堪称深度 ...

  7. (数据科学学习手札40)tensorflow实现LSTM时间序列预测

    一.简介 上一篇中我们较为详细地铺垫了关于RNN及其变种LSTM的一些基本知识,也提到了LSTM在时间序列预测上优越的性能,本篇就将对如何利用tensorflow,在实际时间序列预测任务中搭建模型来完 ...

  8. (数据科学学习手札36)tensorflow实现MLP

    一.简介 我们在前面的数据科学学习手札34中也介绍过,作为最典型的神经网络,多层感知机(MLP)结构简单且规则,并且在隐层设计的足够完善时,可以拟合任意连续函数,而除了利用前面介绍的sklearn.n ...

  9. (数据科学学习手札32)Python中re模块的详细介绍

    一.简介 关于正则表达式,我在前一篇(数据科学学习手札31)中已经做了详细介绍,本篇将对Python中自带模块re的常用功能进行总结: re作为Python中专为正则表达式相关功能做出支持的模块,提供 ...

  10. (数据科学学习手札69)详解pandas中的map、apply、applymap、groupby、agg

    *从本篇开始所有文章的数据和代码都已上传至我的github仓库:https://github.com/CNFeffery/DataScienceStudyNotes 一.简介 pandas提供了很多方 ...

随机推荐

  1. 记录--新的HTML标签 :<search>

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 本文介绍了一种新的HTML元素搜索方法,并提供了一个实用的工具来帮助开发者快速找到所需的元素.这对于那些需要处理大量HTML元素的开发者来 ...

  2. 记录-JavaScript常规加密技术

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 当今Web开发中,数据安全是一个至关重要的问题,为了确保数据的安全性,我们需要使用加密技术.JavaScript作为一种客户端编程语言,可 ...

  3. linux 安装mysql8.0.11

    1.使用系统的root账户 2.切换到/use/local 目录下 3.下载mysql ?wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysq ...

  4. KingbaseES V8R6集群运维系列 -- connect_check_type参数

    案例说明: 在KingbaseES V8R6C7的版本中,repmgr.conf增加了connect_check_type参数可以指定参数值,默认值是'mix',以前版本为隐藏参数,默认值'ping' ...

  5. #矩阵乘法#洛谷 3702 [SDOI2017]序列计数

    题目链接 分析 考虑容斥,用总方案减去全是合数的方案数, 可以发现 \(n\) 很大,\(p\) 很小,直接用矩阵乘法转移即可 代码 #include <cstdio> #include ...

  6. java中的内部类内部接口详解

    目录 简介 内部类 静态内部类 非静态内部类 静态方法内部类 非静态方法的内部类 匿名类 内部接口 总结 简介 一般来说,我们创建类和接口的时候都是一个类一个文件,一个接口一个文件,但有时候为了方便或 ...

  7. skywalking源码流程

    我们已经知道skywalking的入口就是premain方法: public static void premain(String agentArgs, Instrumentation instrum ...

  8. WPF/MVVM模式入门教程(二):实现INotifyPropertyChanged接口

    引用:https://www.cnblogs.com/flh1/p/12447188.html 1.创建NotifyPropertyChanged类 我们在common文件夹下创建一个名为Notify ...

  9. keycloak~网站对接到Keycloak的步骤

    新网站对接到KC的部署 kc的环境 向kc申请自己的客户端 kc的登录接口 通过code换token接口 刷新token接口 kc的用户信息接口 kc的jwt token说明 1. kc的环境 测试环 ...

  10. Yolov5代码详解——detect.py

    首先执行扩展包的导入: import argparse import os import platform import sys from pathlib import Path ​ import t ...