(数据科学学习手札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 小时前
【Pytorch】基本语法
人工智能·pytorch·python
bryant_meng2 小时前
【python】Distribution
开发语言·python·分布函数·常用分布
m0_594526303 小时前
Python批量合并多个PDF
java·python·pdf
工业互联网专业3 小时前
Python毕业设计选题:基于Hadoop的租房数据分析系统的设计与实现
vue.js·hadoop·python·flask·毕业设计·源码·课程设计
钱钱钱端3 小时前
【压力测试】如何确定系统最大并发用户数?
自动化测试·软件测试·python·职场和发展·压力测试·postman
慕卿扬3 小时前
基于python的机器学习(二)—— 使用Scikit-learn库
笔记·python·学习·机器学习·scikit-learn
Json____4 小时前
python的安装环境Miniconda(Conda 命令管理依赖配置)
开发语言·python·conda·miniconda
小袁在上班4 小时前
Python 单元测试中的 Mocking 与 Stubbing:提高测试效率的关键技术
python·单元测试·log4j
白狐欧莱雅4 小时前
使用python中的pygame简单实现飞机大战游戏
经验分享·python·游戏·pygame
阿_旭4 小时前
基于YOLO11/v10/v8/v5深度学习的维修工具检测识别系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】
人工智能·python·深度学习·qt·ai