当前位置: 首页 > news >正文

Jupyter Notebook快速搭建

Jupyter Notebook

why Jupyter Notebook

Jupyter Notebook 是一个开源的 Web 应用程序,允许你创建和分享包含实时代码、方程、可视化和解释性文本的文档。其应用包括:数据清洗和转换、数值模拟、统计建模、数据可视化、机器学习等等。

Jupyter Notebook 支持多种编程语言,包括 Python、R、Julia 和 Scala 等。它的主要组件包括:

  1. Web 应用:一个浏览器中的交互式环境,用于写代码、运行代码、查看结果、可视化数据和写解释性文本。所有内容都在一个“笔记本”中,这是一个可以包含所有这些元素的文件。

  2. 内核:是运行用户代码的进程。每个笔记本都连接到自己的内核。Jupyter 支持超过 40 种语言的内核。

  3. 文档:Jupyter Notebook 文档是包含活动代码、文本、数学公式和可视化等元素的可交互式文档。这些文档是在 Web 服务器上运行的,并且可以通过任何 Web 浏览器访问。

Jupyter Notebook 的主要优点包括:

  • 交互性:代码可以分块运行,这使得数据分析和迭代更加方便。
  • 易于共享:笔记本可以导出为 HTML、PDF、Markdown 等格式,方便分享和展示。
  • 支持 Markdown 和 LaTeX:这使得文档更加美观,也方便写数学公式。
  • 集成数据可视化:可以在笔记本中生成并展示图形,如使用 Matplotlib、Bokeh、Plotly 等库。

总的来说,Jupyter Notebook 是一种强大的工具,它可以将代码、图像、注释、公式和图表集成在一起,使得数据分析的工作流程更加直观和理解。

工欲善其事,必先利其器。Jupyter Notebook 在 Python 生态中的地位算是非常强大的,看下图就知道了

ivggopvl34b74_43231719f4ab48fd97976fce55a9bb79.png

前提条件

  1. 需要是Linux服务器,推荐浪浪云服务器,高防,稳定,有保障!!!

    1713236675999.jpg

具体安装过程

推荐使用Anaconda3进行安装,Anaconda 是一个强大的、开源的 Python 和 R 数据科学平台,它可以帮助你简化包管理和部署工作。安装 Jupyter Notebook 的好处包括:

  1. 简化安装:Anaconda 包含了大量的科学计算和数据科学相关的 Python 包,包括 Jupyter Notebook,你可以一次性安装好所有这些包,而不用单独去安装每一个包。
  2. 包管理:Anaconda 使用 Conda 作为包管理器,它可以很方便地管理和更新你的 Python 包。此外,Conda 还是一个环境管理器,可以让你为不同的项目创建不同的环境,每个环境可以有各自的包版本,这样可以避免包版本之间的冲突。
  3. 跨平台:无论你是在 Windows、macOS 还是 Linux 上,你都可以使用 Anaconda。
  4. 大量预编译的 Python 包:Anaconda 发行版包含了大量预编译的 Python 包,这意味着这些包已经被编译过,可以在你的计算机上直接运行,无需你自己编译。这样可以节省你的时间,特别是对于一些需要复杂编译过程的包。
  5. 社区支持:Anaconda 有一个庞大的用户社区,如果你遇到问题,你可以很容易地找到解决方案。

使用 Anaconda 安装 Jupyter Notebook 可以让你更加专注于数据分析,而不是环境配置和包管理。

Anaconda 的安装

1.远程连接到服务器,可以参考教程Linux服务器登陆教程 - 浪浪云:提供高性能、可靠稳定的云服务器解决方案 (langlangy.com)

2.连接到服务器后通过wget下载清华源的Anaconda,分别执行以下命令

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2024.02-1-Linux-x86_64.sh
chmod +x Anaconda3-2024.02-1-Linux-x86_64.sh
./Anaconda3-2024.02-1-Linux-x86_64.sh

然后一路输入回车和yes即可快速进行安装完成

image-tdic.png

3.设置全局环境变量,分别执行以下命令

vim ~/.bashrc#在最后添加语句
export PATH=/root/anaconda3/bin:$PATHsource ~/.bashrc

此时输入anaconda可以看到如下情况便是安装成功了

image-gzlu.png

jupyter notebook的安装

  1. 执行如下命令,安装jupyter notebook

    conda install jupyter
    

    基本上anaconda3安装成功的话,是默认jupyter已经安装过的,这里是重复确认一下。

配置Jupyter-config

生成jupyter配置文件

jupyter notebook --generate-config

该命令执行后会生成一个/root/.jupyter/jupyter_notebook_config.py的文件

image-wrbm.png

修改Jupyter_notebook_config.py该配置文件,执行以下命令

vim /root/.jupyter/jupyter_notebook_config.py
#没有vim命令的话安装下即可c.NotebookApp.ip = ''     # 设置访问IP 写服务器ip即可
c.NotebookApp.open_browser = False    # 默认不自动打开浏览器
c.NotebookApp.password = ''			# 输入刚刚生成的密钥
c.NotebookApp.port = 8888			# 设置端口,
c.NotebookApp.notebook_dir = ''     # 设置Jupyternotebook 打开的根目录

上述代码c.NotebookApp.password = ''的设置,需要你在服务器上依次执行如下命令:

jupyter notebook password
Enter password:
Verify password:

注意密码输入时不显示

image-vbpa.png

成功操作后显示写入/root/.jupyter/jupyter_server_config.json文件,存的是加密过后的密码,之后需要把它写到notebook配置文件中。

c.NotebookApp.password = u’sha’ #就是把生成的密码json文件里面的一串密码放这里

运行Jupyter notebook

直接在命令行中运行

jupyter notebook

如果是浪浪云nat的服务器的话,需要进行端口的转发,例如我设置的是8888,那么我首先需要转发这个端口

image-cmkf.png

访问的话需要用转发的ip:端口进行访问即可

启动成功如下图

image-b0al.png

网页运行截图和功能展示

image-ykor.png

附赠:Jupyter 好用的组件

Jupyter组件扩展

为jupyter notebook安装jupyter_contrib_nbextensions, 该组件会扩展jupyter的很多功能,如目录,自动补全等,在服务器终端依次运行如下命令:

pip install jupyter_contrib_nbextensionsjupyter-contrib-nbextension install --user打开jupyter会发现多了一个菜单栏Nbextension,完成!

Jupyter 灵活切换运行环境
为jupyter notebook安装nb_conda,命令如下:

conda install nb_conda

运行结束后,你可以在new菜单栏看到运行环境的切换

image-bubv.png

搭建已经完成了,再次推荐浪浪云服务器

稳定,高防,有保障!!!!

相关文章:

Jupyter Notebook快速搭建

Jupyter Notebook why Jupyter Notebook Jupyter Notebook 是一个开源的 Web 应用程序,允许你创建和分享包含实时代码、方程、可视化和解释性文本的文档。其应用包括:数据清洗和转换、数值模拟、统计建模、数据可视化、机器学习等等。 Jupyter Notebo…...

Linux C语言:数组的定义和初始化

一、数组 1、定义 在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来,具有一定顺序关系的若干个变量的集合就是数组 。 2、特点 组成数组的各个变量称为数组的元素数组中各元素的数据类型要求相同元素在内存中是连…...

spring框架限制接口是否要登录过才能访问

1、引入spring 、spring boot依赖,这部分不再多说,正常开发spring boot项目就可以。 2、定义类,实现WebMvcConfigurer接口 package com.hmblogs.config;import com.hmblogs.config.web.interceptor.PortalTokenInterceptor; import org.spri…...

【全开源】废品回收垃圾回收小程序APP公众号源码PHP版本

🌟废品回收小程序:绿色生活的新助手🌱 一、引言 随着环保意识的逐渐提高,废品回收成为了我们日常生活中的重要一环。但是,如何更方便、高效地进行废品回收呢?今天,我要向大家推荐一款超级实用…...

勒索软件分析_目标文件扫描行为分析

BlackBasta首先通过 FindFirstVolumeW 与 FindNextVolumeW 实现系统中第一个卷的搜索和其余卷的遍历,之后通过 GetVolumePathNamesForVolumeNameW 检索指定卷的驱动器号和挂载的文件夹路径列表,然后通过 GetVolumeInformationW 获取关于指定卷的信息,具体代码如下所示。 Fin…...

2024050401-重学 Java 设计模式《实战代理模式》

重学 Java 设计模式:实战代理模式「模拟mybatis-spring中定义DAO接口,使用代理类方式操作数据库原理实现场景」 一、前言 难以跨越的瓶颈期,把你拿捏滴死死的! 编程开发学习过程中遇到的瓶颈期,往往是由于看不到前进…...

HTML跨年烟花

目录 写在前面 关于小编 HTML简介 程序设计 系列文章 写在后面 写在前面 学会了这个html烟花秀,跨年就不缺文案喽~ 关于小编 平易近人,慈眉善目,爱交朋友,舍己为人,和蔼可亲,能说会道,…...

微服务第二轮

学习文档 背景 由于每个微服务都有不同的地址或端口,入口不同 请求不同数据时要访问不同的入口,需要维护多个入口地址,麻烦 前端无法调用nacos,无法实时更新服务列表 单体架构时我们只需要完成一次用户登录、身份校验&#xff…...

线性模型-分类

一、线性判别分析LDA 线性判别分析是一种经典的线性学习方法,在二分类问题上最早是Fisher提出的,亦称为Fisher判别分析。 Fisher判别分析是一种用于降维和分类的统计方法,旨在找到可以最好区分不同类别的特征。它基于类内方差和类间方差的比…...

OpenAI前董事会成员称Sam Altman因 “ 向董事会撒谎 ” 而被解雇

据前 OpenAI 董事会成员称,据称 Altman 隐瞒了他对 OpenAI 创业基金的所有权。 更详细的内容请参考原文: https://cointelegraph.com/news/sam-altman-fired-openai-board-allegations 据一位前董事会成员称,Sam Altman 因涉嫌向董事会隐瞒…...

【启明智显分享】WIFI6开发板ZX6010:开源OpenWrt SDK,接受定制!

在数字化飞速发展的当下,网络速度和稳定性已成为各行各业不可或缺的关键因素。今天,我们为大家推荐一款基于IPQ6010的AX1800方案ZX6010 Wi-Fi6开发板,为您的网络世界注入强大动力。 一、超强硬件配置 ZX6010搭载IPQ6010四核ARM Cortex A53处…...

C语言能否使⽤ fflush( ) 函数清除多余的输⼊?

一、问题 在从终端输⼊数据时,很可能会输⼊多余的数据,那么能否使⽤ fflush( ) 函数清除呢? 二、解答 fflush( ) 函数只是⽤在⽂件以写的⽅式打开时,将缓冲区内容写⼊到⽂件。因此 fflush( ) 函数仅对输出流有效,对输…...

如何把试卷上的字去掉再打印?分享三种方法

如何把试卷上的字去掉再打印?随着科技的不断发展,现代教育和学习方式也在逐渐变革。在学习过程中,我们经常需要对试卷进行整理和分析,以便更好地掌握知识点和复习。然而,传统的试卷整理方法往往效率低下且容易出错。幸…...

Android开机动画压缩包zip,自制开机动画(基于Android10.0.0-r41)

文章目录 Android开机动画压缩包zip,自制开机动画1.Android加载压缩包原理2.自制开机动画 Android开机动画压缩包zip,自制开机动画 1.Android加载压缩包原理 这里有个md文件我们看下 核心部分, 首先要创建一个文件叫做desc.txt,这是规定的…...

手机站怎么推广

随着手机的普及和移动互联网的快速发展,越来越多的人开始使用手机进行在线购物、社交娱乐、阅读资讯等,同时也催生了越来越多的手机站的出现。但是,在海量的手机站中,要让自己的手机站脱颖而出,吸引更多用户访问和使用…...

Mysql疑难报错排查 - Field ‘XXX‘ doesn‘t have a default value

项目场景: 数据库环境 :mysql8; 工程使用:MyBatisPlus 表情况: 问题描述 某一个插入语句使用了 MyBatisPlus 的 save 方法,因为end_time1 end_time2都并没有值,所以在MyBatisPlus默认情况下,…...

YOLOv8_obb预测流程-原理解析[旋转目标检测理论篇]

YOLOv8_obb的预测流程,主要分预处理模块、推理模块和后处理模块。这里面有很多内容是和目标检测预测流程是重合的,主要区别在于Angle分支、NMS后处理以及regularize_rboxes部分。本文也主要介绍一下这三个模块,其他模块可以结合YOLOv8预测流程-原理解析[目标检测理论篇]一起…...

02JAVA字符串和集合

1.字符串 1.String 介绍: String在java.lang包下,使用不需要导包,String代表字符串,带""字符串都是String类的对象 字符串的特点: 字符串不可变,他们的值在创建后不能被改变 字符串效果相当于(char[]),底层原理是字节数组(byte[]) String构造方法: String 变量名 ne…...

Qt如何让按钮的菜单出现在按钮的右侧

直接上代码,我们用到了一个eventfilter的函数功能。这个函数比较厉害和重要,大家务必经常拿出来看看。 void MainWindow::initMenu() { QMenu* menuLiXiang new QMenu; QAction* actXiangMuZhangCheng new QAction("项目章程"); …...

C++的类和new和delete和菱形继承机制

文章目录 参考虚函数使用虚函数的class结构相关实现源码IDA反编译子类虚表和父类虚表调用函数菱形继承 参考 https://showlinkroom.me/2017/08/21/C-%E9%80%86%E5%90%91%E5%88%86%E6%9E%90/ https://www.cnblogs.com/bonelee/p/17299985.html https://xz.aliyun.com/t/5242?t…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

【Oracle】分区表

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

C# 表达式和运算符(求值顺序)

求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如&#xff0c;已知表达式3*52&#xff0c;依照子表达式的求值顺序&#xff0c;有两种可能的结果&#xff0c;如图9-3所示。 如果乘法先执行&#xff0c;结果是17。如果5…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1&#xff09;下载安装包2&#xff09;配置环境变量3&#xff09;安装镜像4&#xff09;node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1&#xff09;使用 http-server2&#xff09;详解 …...

云原生周刊:k0s 成为 CNCF 沙箱项目

开源项目推荐 HAMi HAMi&#xff08;原名 k8s‑vGPU‑scheduler&#xff09;是一款 CNCF Sandbox 级别的开源 K8s 中间件&#xff0c;通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度&#xff0c;为容器提供统一接口&#xff0c;实现细粒度资源配额…...