使用miniconda构建数据科学环境

news2024/11/15 12:30:45

背景

数据科学中,不同时期项目代码往往是由不同的版本的python和第三方数据科学包构建,这些不同版本往往会存在兼容性问题,要运行这些代码,需要管理不同的版本的安装包。Conda是一个开源的包管理和环境管理系统,环境管理允许用户创建不同的独立的虚拟环境,可以在其中安装不同版本的python和包,而且支持方便快速地切换虚拟环境

anaconda和miniconda都集成了conda,二者的区别是anaconda预安装了300多个常用的数据科学包,安装包非常大(安装需要4~5G空间),有图形化界面,比较适合新手使用;而miniconda只包含python和一些核心的安装包(大约70个),安装包比较小(安装只需要500M空间),可以后期根据自己的需要进行数据科学包的安装,适合有经验的同学。

卸载Anaconda

anaconda的第三方包可能依赖不同版本的其他包和gcc,使用时间长了容易出现依赖版本混乱的情况,造成运行错误。需要卸载干净,以免重新安装后还有问题。

这里可以使用官方建议的卸载方法。

Uninstalling Anaconda Distribution — Anaconda documentation

  1. 打开您的终端应用程序。

  2. (可选)通过运行以下命令从所有终端 shell 配置文件中删除任何 conda 初始化脚本:

    conda activate
    conda init --reverse --all
  3. 使用rm -rf删除整个anaconda3目录。根据您的安装,此目录将位于您的根文件夹或 opt 文件夹中。查看下安装位置(mac上搜索anaconda)然后进行删除。

  4. Note 笔记
    要卸载 Miniconda,请将anaconda3替换为miniconda3 
    
    # The following are a few examples of how you
    # may need to delete your Anaconda folder
    rm -rf anaconda3
    rm -rf ~/anaconda3
    sudo rm -rf /opt/anaconda3 # 部分文件删除不掉时使用
  5. (可选)如果您在anaconda3目录之外创建了任何环境,您可以手动删除它们以增加计算机上的可用磁盘空间。

  6. 关闭并重新打开终端以刷新它,您不应再在终端提示符中看到(base) 。

安装Miniconda

1. 对mac用户,最简单的安装方式是通过package(后缀名为.pkg)进行安装,先下载需要的安装包,这里主要是M1芯片还是intel x86芯片。

安装包:

Latest Miniconda installer links by Python version — Anaconda documentation

2. 双击安装即可

3. 安装完成之后,验证按章是否成功

conda -V

conda 24.7.1 

更换国内数据源

在国内使用官方镜像进行安装会很慢,因此建议切换为国内的镜像源。

第一次运行,缺失.condarc,运行一下面这条命令,用户目录下就会多一个.condarc的配置文件

conda config --set show_channel_urls yes

# 换其国内镜像源,以清华镜像为例
vim ~/.condarc

# Vim的使用方法,运行上述命令后,按“i”键进入“INSERT”模式(最后一行会显示“INSERT”),
# 然后编辑condarc中的内容,编辑完成后,按“ESC”键退出编辑模式,然后按“Shifit+:”,最后一行显示“:”时,输入wq(保存退出)

将condarc配置文件内容修改为如下

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

 参考:https://www.cnblogs.com/Oraer/p/17431614.html

国内其他镜像源:

# 中科大镜像源
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/
 
# 阿里镜像源
conda config --add channels https://mirrors.aliyun.com/pypi/simple/
 
# 豆瓣的python的源
conda config --add channels http://pypi.douban.com/simple/ 
 
# 显示检索路径,每次安装包时会将包源路径显示出来
conda config --set show_channel_urls yes
conda config --set always_yes True
 
#执行以下命令清除索引缓存,保证用的是镜像站提供的索引
conda clean -i
 
# 显示所有镜像通道路径命令
conda config --show channels
#**如果不想进入终端默认激活base环境: **
conda config --set auto_activate_base false

安装数据包

安装数据科学包前,先初更新和始化conda,conda init 这个命令会帮忙自动配置环境变量(如 .bashrc 或 .bash_profile 等),省去手动配置的麻烦。

conda update conda
conda init

新建conda环境,可以指定python版本 

conda create -n py312 python=3.12

conda activate py312

conda install numpy pandas scipy matplotlib seaborn jupyter notebook jupyterlab
 

安装完成后,在终端中输入“jupyter notebook” ,可以测试是否成功。

至此,一个初步的数据科学工作环境就搭建完成了!

参考文章:

1. Linux安装miniconda和换镜像源:https://www.cnblogs.com/Oraer/p/17431614.html

1. Miniconda3环境配置,换国内源_miniconda换源-CSDN博客

2. https://www.cnblogs.com/catting123/p/16557462.html

3. miniconda配置手册——基本配置、初始化、管理虚拟环境、包的操作-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2074123.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux | 编译和使用自定义动静态库的全面解析

新竹高于旧竹枝,全凭老干为扶持。 - 《新竹》(郑燮) 2024.8.25 目录 1、静态库和动态库简介 静态库(.a): 动态库(.so): 动态库和静态库的比较: 2、静态库的生成和使用&#xff…

GCB | 首次揭示!气候变化对常绿和落叶植物物候差异化影响的机制

气候变化引起的植物物候改变已对全球范围内生物多样性和生态系统产生重大影响(Nature高引文章 | 北京大学朴世龙院士等:全球变暖对植被物候的影响及其机制;Nature Ecology & Evolution | 南京大学张永光教授团队揭示延长的植被物候期受CO…

set容器的所有操作

1.基本概念 2.构造和赋值 3.大小和交换 4.插入和删除 5.查找和统计 6.set和multiset的区别 7.pair对组创建 用p.first和p.second调用前后两个属性。 8.仿函数实现降序排列 自定义数据类型也一样用仿函数:

【领域驱动设计 打通DDD最小闭环】领域建模

本篇BLOG为DDD流程的第二步,在模型的建立阶段,领域专家与技术人员通过领域建模来完成更为细致的模型建立讨论 领域建模的目的 领域建模主要有两个目的: 将知识可视化,准确、深刻地反映领域知识,并且在业务和技术人…

Python优化算法14——海鸥优化算法(SOA)

科研里面优化算法都用的多,尤其是各种动物园里面的智能仿生优化算法,但是目前都是MATLAB的代码多,python几乎没有什么包,这次把优化算法系列的代码都从底层手写开始。 需要看以前的优化算法文章可以参考:Python优化算…

【图文并茂】ant design pro 如何给后端发送 json web token - 请求拦截器的使用

上一节有讲过 【图文并茂】ant design pro 如何对接后端个人信息接口 还差一个东西,去获取个人信息的时候,是要发送 token 的,不然会报 403. 就是说在你登录之后才去获得个人信息。这样后端才能知道是谁的信息。 token 就代码了某个人。 …

工作实战-项目压测记录

1-1-1每分钟的单量 1-1-2第二版测试 2022年5月16日 17:43:11 成功 失败 其它(nginx) 真实入库单量 总单量 52 1 447 500 2022年5月16日 19:42:18 成功 失败 其它(nginx) 真实入库单量 总单量 311 689 306 1000 2-0-1. 20线程-2000单执行结果 2-1-0. 40线…

金融科技 API 接口:提升金融服务效率的关键

金融科技是应用技术手段和创新理念来提升金融服务效率的重要途径。而其中的API接口则是实现金融科技的关键。API接口的简单定义是提供计算机程序之间通信的规范和工具,提供一种方法和数据的交互形式,以便开发人员能够利用现有的软件来创建新的应用和服务…

前端网格布局display: grid;

display: grid; 块级网格 (常用) display: inline-grid; 行内块级网格 (一般不用) HTML 元素将 display 属性设置为 grid 或 inline-grid 后,它就变成了一个网格容器,这个元素的所有直系子元素将…

Mobile-Agent项目部署与学习总结(DataWhale AI夏令营)

前言 你好,我是GISer Liu,一名热爱AI技术的GIS开发者,本文是DataWhale 2024 AI夏令营的最后一期——Mobile-Agent赛道,这是作者的学习文档,这里总结一下,和作者一起学习这个多模态大模型新项目吧&#x1f6…

开放式耳机对耳朵的伤害会减小吗?亲测好用的四款蓝牙耳机

开放式耳机对耳朵的伤害相对较小。 首先,开放式耳机不入耳,不会直接堵塞耳道,减少了对耳道的挤压和摩擦,降低了因长期佩戴入耳式耳机可能导致的耳道发炎、疼痛等问题。 其次,由于耳朵没有被完全封闭,耳部能…

【C/C++】结构体指针赋值的方法

在C语言中,结构体指针赋值有两种方法: 1.使用"->"操作符:通过结构体指针访问结构体成员并赋值。例如: struct Student {int id;char name[20]; };int main() {struct Student s1;struct Student *ptr_s1 &s1;…

设计模式学习[4]---依赖倒置原则+里氏代换原则

文章目录 前言1. 依赖倒置原则1.1 原理阐述1.2 举例 2.里氏代换原则2.1 原理阐述2.2 举例说明 总结 前言 在给发新功能模块之前,都先要画UML类图进行需求分析。对每一个类的作用,类与类之间的关系做一个详细的阐述。确定好基本的框架之后,才…

Lumos学习王佩丰Excel第十四讲:日期函数

一、认识时间和日期 1、回顾日期格式 日期可以由数字表示。 2、时间格式 时间由小数表示。 3、基本的时间与日期运算 二、日期函数 1、Year、Month、Day函数 2、Date函数 DATE(year,month,day):year为必需参数,可以包含1到4个数字。Day函…

LeetCode 热题 100 回顾

目录 一、哈希部分 1.两数之和 (简单) 2.字母异位词分组 (中等) 3.最长连续序列 (中等) 二、双指针部分 4.移动零 (简单) 5.盛最多水的容器 (中等) 6…

文心一言 VS 讯飞星火 VS chatgpt (332)-- 算法导论23.1 1题

一、设(u,v)是连通图G中的一条权重最小的边,证明:边(u,v)为图G的某棵最小生成树中的一条边。如果要写代码,请用go语言。 文心一言: 为了证明边(u,v)是图G的某棵最小生成树中的一条边,我们可以使用反证法结合最小生成…

09 复合查询

前面的查询都是对一张表进行查询,但这远远不够 基本查询回顾 查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J select * from EMP where (sal>500 or job‘MANAGER’) and ename like ‘J%’; 按照部门号升序而雇员的…

免费用的写作神器:一键自动生成文章,提升内容创作效率!

传统的写作过程往往耗时耗力,从构思、调研到撰写、修改,每一步都需要创作者亲力亲为。免费写作神器的出现,犹如一场及时雨,为创作者提供了强大的支持。它利用先进的算法和自然语言处理技术,能够在短时间内生成高质量的…

了解Redis数据持久化(中)

3.5写时复制 Redis在使用RDB方式进行持久化时,会用到写时复制机制。写时复制的效果: bgsave子进程相当于复制了原始数据,而主线程仍然可以修改原来的数据。 对Redis来说,主线程fork出bgsave子进程后,bgsave子进程实际是复制了主线…

初识C语言指针(5)

目录 1. 回调函数 2. qsort函数 2.1 qsort函数的基本参数 2.2 qsort函数的使用 2.3 qsort排序结构体类型数据 结语 1. 回调函数 什么是回调函数呢?回调函数就是⼀个通过函数指针调⽤的函数。 如果你把函数的指针(地址)作为参数传递给另…