当前位置: 首页 > 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…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...