远程服务器ubuntu安装Jupyter Lab详细教程

news2025/1/10 3:19:34

不用打开电脑,不用启动anaconda,随时随地,公交地铁上使用手机输入网站就能启动jupyter notebook进行代码编写、数据分析,着实是很方便。在你成功白嫖一台服务器之后,可以按照下面的教程,手把手教你配置一个专属于你自己的远程 Jupyter Notebook,随时随地利用Python进行数据分析。

1 环境准备

首先要明确的是jupyterlab需要依赖jupyter-notebook,而这两者原本是依赖于Anaconda,因此最好使用anaconda环境。(不想使用Anaconda环境的,可以自行搜索安装方法)
在这里插入图片描述
如果没有在服务器上安装Anconda,可以参考这篇文章进行安装:如何在Linux服务器上安装Anaconda(超详细):https://blog.csdn.net/wyf2017/article/details/118676765

注意文中的命名规则。

这里默认安装了jupyter,如果没有安装的,执行下面命令:

conda install -c anaconda jupyter

2 安装jupyterlab

可以新建环境,也可以直接使用conda的默认base环境安装

conda install -c conda-forge jupyterlab

3 生成 jupyter配置 文件

生成配置文件

生成的文件位于:~/.jupyter/jupyter_notebook_config.py #配置文件

jupyter notebook --generate-config
#生成的文件位于:~/.jupyter/jupyter_notebook_config.py #配置文件

4 设置密码

通过ipython获得密钥

  • 在终端中直接输入 ipython
  • 输入:from notebook.auth import passwd
  • 输入:passwd()
  • 在 Enter password 输入你设置的密码:123456
  • 在 Verify password 确认你设置的密码:123456

系统会生成一串哈希值: 这段是密钥,注意保存
如下图所示
在这里插入图片描述
把上面生成的密钥复制下来,配置时会用到,password是远程登录时需要输入的密码,也需要记住。

  • 输入:quit() 退出ipython

5 修改配置文件

  • 通过 vim 打开配置文件:vim ~/.jupyter/jupyter_notebook_config.py

  • 依次在键盘上按键:Esc:$Enter,就可以跳转到文件的末尾

  • 这时候按键 i 进入 vim 编辑器的编辑模式,开始修改文档

在文件末尾依次输入以下配置:

#vim ~/.jupyter/jupyter_notebook_config.py
c.NotebookApp.ip = '*' # 你的服务器的IP地址,一般是静态地址
c.NotebookApp.password = u'argon2:$argon2id$v=19$m=10240,t=10,p=8$/+00y9kgnJnJKlGj4e95Jg$lh*****************' # 这个是刚要保存的秘钥
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8890    #端口,可以随意指定
c.NotebookApp.allow_remote_access = True

但是我试过之后jupyter提示这种配置已经过时,推荐使用ServerAPP这种配置。于是我就修改为一下配置

正确配置


c.ServerApp.ip = '*'  # 允许访问此服务器的 IP,星号表示任意 IP
c.ServerApp.password = u'argon2:$argon2id$v=19$m=10240,t=10,p=8$d/HITLofQ9GUIs5fzLrrcQ$pq8uKMvunwan+Opt847aHqalygfVcJEfjYCoKfBa1ng' # 这个是刚要保存的秘钥
c.ServerApp.open_browser = False # 运行时不打开本机浏览器
c.ServerApp.port = 8890    #端口,可以随意指定 不与系统其他端口冲突即可
c.ServerApp.allow_remote_access = True  #允许远程访问
c.ServerApp.root_dir = '/' # 默认初始目录,你也可以改为 /home
~                               

修改完成后保存即可

6 安装nodejs

安装Node.js的目的是在登录是有更有好的界面。

首先下载node.js, 地址:NodeJs下载地址:https://nodejs.cn/download/

下载根据需求,下载对应架构的,一般是x64架构的,即如下图:
nodejs下载地址
下载命令:

wget https://cdn.npmmirror.com/binaries/node/v18.16.1/node-v18.16.1-linux-x64.tar.xz

下载后解压,最好放在程序安装的目录下,然后配置环境:

 tar -xvf node-v18.16.1-linux-x64.tar.xz

编辑系统环境变量配置

# 使用vim 编辑~/.bashrc文件
 $vim ~/.bashrc
 
 # 在文件最后一行,添加下面一行内容
export PATH=/解压出的位置/bin:$PATH # 解压出的位置

# 使文件生效
source ~/.bashrc

# 查看node版本
$node -v # 检查node环境是否配置成功
# 输出node对应版本】
v18.16.1

如果这里报错 version GLIBC_2.28’ not found`
两个解决办法。

  • 解决办法1 :参考version `GLIBC_2.34‘ not found简单有效解决方法:https://blog.csdn.net/huazhang_001/article/details/128828999
  • 解决办法2:npm 降级到node-v16.15.1,此问题不出现。

7 启动jupyter-lab

一般启动jupyter后会一直保持运行,因此可以将其放入后台运行,可以采用screen来实现,首先创建一个名字为jupyterlab的后台

$screen -S jupyterlab

然后启动jupyterlab:

$jupyter-lab --allow-root # 如果用的是root账号的话则需要加上--allow-root,否则不需要

最后按Ctrl+A+D组合键即可退出后台,而jupyter-lab保持运行

PC端登录

在浏览器上输入你的地址和端口,就会弹出这样的登录窗口,输入密码即可:
在这里插入图片描述
注释:这里安装Node.js是为了使得jupyter显示的更友好,推荐安装。

正确登录成功页面如下图所示:
在这里插入图片描述

正确启动的输入如下所示:
在这里插入图片描述

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

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

相关文章

car music

正常车载U盘即可 车载不可用的U盘 车载需要改进遍历文件夹

【机器学习核心总结】什么是BP反向传播算法

什么是BP反向传播算法 神经网络是个好工具,但就像有的刀削铁如泥,有的却只能拿来切豆腐。 真正决定神经网络好不好用的是神经元之间连接的权重和神经元的阈值。 如何确定这些数字,大部分时间我们都在使用反向传播,也就是常说的B…

Opencv图片样本预处理

前因 最近想学学,OPENCV识别物体,但是处理图片正样本时过于繁琐, 遂自己开发了工具,来处理样本图片,基于QT,文末附下载链接 程序 功能 一共有两个功能,一个是处理负样本,一个处理…

UE 5.1.1 引擎源码下载 执行Setup报错解决

Upcoming Disruption of Service Impacting Unreal Engine Users on GitHub - Announcements - Epic Developer Community Forums 文件下载地址:https://github.com/EpicGames/UnrealEngine/blob/9763f4c8f3fb047be1a4b5fee2b080587c1307a1/Engine/Build/Commit.gi…

React之hooks

Hooks函数 1.useState():状态钩子。纯函数组件没有状态,用于为函数组件引入state状态, 并进行状态数据的读写操作。 const [state, setState] useState(initialValue); // state:初始的状态属性,指向状态当前值,类似…

字节测试8年,肝到50W就剩这份学习笔记了····

在字节工作了8年,工作压力大,节奏快,但是从技术上确实得到了成长,尤其是当你开发框架与平台的时候,熬到年薪50W也费了不少心思,小编也是个爱学习的人,把这几年的工作经验整理成了一份完整的笔记…

如果你的idea启动突然卡住,那么请看我这篇文章

# 情景 我的idea什么操作都没做就突然运行不起来了,其他的操作都可以,只要运行就卡住1、不要相信网上文章的修改本机hosts文件 2、不要相信网上文章清理idea的cache 3、不要相信网上文章修改编译配置# 操作 只有两张图,如下

测试用例设计简单吗?简单!但你有可能栽在这5道S级设计题上!

很多人不知道写测试用例有什么用,而仅仅是像工具人一样,在每次提测之前,把测试用例照着需求文档抄一遍,仿佛像是走个过场。 开发提测之后,就照着测试用例点点点,可能一天就走完用例了,开发代码…

antv/g2图表自定义tooltip展示

默认图 效果图 需要自定义tooltip标题以及根据是字段显示名称和数值 chart.interval().transform({ type: stackY }).data(dataList).encode(y, value).encode(color, name).tooltip({title: (d) >办理状态, //标题设置}).tooltip((d, // 每一个数据项index, // 索引data…

首家!阿里云完成数据可视化服务能力评估

2023 年 5 月 22 日,在中国信通院组织的首批数据可视化服务能力成熟度评估中,阿里云计算有限公司(以下简称“阿里云”)顺利完成了数据可视化服务能力成熟度评估的全部内容,成为首家完成此评估的企业。 标准介绍 中国…

想知道好用的音频翻译软件有哪些?

随着全球化进程的加速和语言交流需求的增长,音频翻译软件正日益受到关注和应用。这样的软件以其高效、准确的翻译能力以及广泛的应用场景赢得了青睐。音频翻译软件具备诸多优势,如通过语音输入实时转化为文字输出,提供了便捷的写作工具&#…

[每日一水] Latex Tikz foreach 循环嵌套

\documentclass{article} \usepackage{tikz} \begin{document} \begin{tikzpicture} \foreach[count\i] \x in {20,18,...,2}\foreach[count\j] \y in {20,18,...,2}\node at (\i,\j) {\x \y}; \end{tikzpicture} \end{document}\node at (\i,\j) {\x \y}; 就是写文本的意思

Linux——统信UOS(v20-1060a)部署.net core项目

部署.net core之前,请先确定已经安装了运行环境 Linux安装.net core环境 新建一个用于测试的 .net core web 项目 直接发布到文件夹,目标运行时选择 linux-64,这里根据你自己的操作系统的运行环境选择。 先点击完成,后面再设置参…

2023容器网络趋势:CNI网络插件逐渐普及,Kube-OVN受欢迎度持续攀升

今年,Kube-OVN 社区联合OSCHINA、云原生社区共同发起了《2022-2023容器网络使用情况调研》,得到了大批K8s/容器网络技术人员的关注。 本调研旨在更加直观地了解各行业企业容器网络的使用现状,以及Kube-OVN在社区用户中的使用情况,…

【机器学习核心总结】什么是CNN(卷积神经网络)

什么是卷积神经网络 卷积神经网络(Convolutional Neural Network),在一个个填充着数字的正方形小格子,它们被称为卷积核。 原始图片经过输入层后,会变为灰度或是RGB数值填充的矩阵 将卷积核与图片矩阵对齐,对应格子中的数字相乘后…

DAY38:贪心算法(五)K次取反后最大数组和+加油站

文章目录 1005.K次取反后最大化的数组和思路直接升序排序的写法最开始的写法:逻辑错误修改版时间复杂度 自定义sort对绝对值排序的写法sort的自定义比较函数cmp必须声明为static的原因std::sort升降序的问题(默认升序)时间复杂度 总结 134.加…

C# 超过经理收入的员工

181 超过经理收入的员工 SQL架构 表:Employee -------------------- | Column Name | Type | -------------------- | id | int | | name | varchar | | salary | int | | managerId | int | -------------------- Id是该表的主键。 该表的每一行都表示雇员的ID、…

pip安装opencv-python不成功

一个比较笨但还算有效的方法:如果你的python版本较低,如现在2023-07-04使用python3.6环境,使用pip默认安装会是最新的4.8.0.7版本,但事实上这个版本不支持py3.6环境,所以你需要去这里查支持py3.6的最近的一个版本是什么…

从JDK源码级别剖析JVM类加载机制

1 什么是Java虚拟机 一个可执行java字节码的虚拟机进程;跨平台的是java程序,而不是java虚拟机,java虚拟机在各个操作系统是不兼容的,例如windows、linux、mac都需要安装各自版本的虚拟机,java虚拟机通过jdk实现功能。…

汇编语言基础--IO输入输出解决光标问题

我们之前在屏幕上输出数据的时候下标总是在前面,如何解决光标一直在前面的问题呢? 想要控制光标位置,我们需要两个指令--输入输出指令来控制硬件 in指令 ---------------------------- out指令 想要控制硬件,我们还需要往对应…