『Linux笔记』服务器搭建神器JupyterLab

2023-10-17 19:30

本文主要是介绍『Linux笔记』服务器搭建神器JupyterLab,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

服务器搭建神器JupyterLab!

文章目录

  • 1. 重点步骤
    • 1.1. 安装JupyterLab
    • 1.2. 修改JupyterLab配置文件
  • 2. 后台运行
    • 2.1. nohup
    • 2.2. linux对nohup日志进行定时拆分并且删除
  • 3. 终止进程
  • 4. jupyter lab快速格式化代码PEP8规范化

  • 推荐博客: 云服务器搭建神器JupyterLab(多图)。记得用nohup命令设置一下后台运行。
  • 推荐博客: Jupyter lab 安装及多kernel配置
  • 推荐博客:在Anaconda安装多个环境,如果想在每个环境下都可以使用jupyterlab,需要挨个安装一遍吗?
  • 查看解释器的所在路径:

1. 重点步骤

1.1. 安装JupyterLab

  • 安装
pip install jupyterlab
  • 生成密码
jupyter-notebook password
  • 创建哈希密码
ipython
from notebook.auth import passwd
passwd()
# 输入你自己设置登录JupyterLab界面的密码,
# 然后就会生产下面这样的密码,将它记下来,待会儿用
'sha1:b92f3fb7d848:a5d40ab2e26aa3b296ae1faa17aa34d3df351704'

1.2. 修改JupyterLab配置文件

  • 先生成一个配置文件,记下输出的配置文件地址
jupyter lab --generate-config
  • 修改配置文件,找到下面这几行文件,注释掉并修改成这样。
c.NotebookApp.allow_root = True
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.notebook_dir = u'/data/aibox/kaifang'
c.NotebookApp.open_browser = False
c.NotebookApp.password = u'sha1:b92f3fb7d848:a5d40ab2e26aa3b296ae1faa17aa34d3df351704'
c.NotebookApp.port = 8888
  • 对应每行稍微解释一下
允许以root方式运行jupyterlab
允许任意ip段访问
设置jupyterlab页面的根目录
默认运行时不启动浏览器,因为服务器默认只有终端嘛
设置之前生产的哈希密码
设置访问端口

2. 后台运行

2.1. nohup

  • 在云服务器中搭建好jupyter lab并运行后,发现它会占用当前终端,于是研究了一下怎么让它在后台运行。
  • 1. 入门级
jupyter lab --allow-root > jupyter.log 2>&1 &
  • 2. 进阶版
nohup jupyter lab --allow-root > jupyter.log 2>&1 &
nohup jupyter lab --port='9999' --ip='*' --notebook-dir='/data/aibox/kaifang'  --allow-root > tf.log 2>&1 &
  • 命令解释:
  • &让命令 后台运行,并把标准输出写入jupyter.log中。但当用户推出(挂起)的时候,命令自动也跟着退出
  • nohup表示no hang up不挂断的运行, 注意并没有后台运行的功能,,就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;&才是后台运行
  • 可以参考一下这个博客的讲解:后台任务与nohup命令
  • 使用&后台运行程序:
  • 1)结果会输出到终端
  • 2)使用Ctrl + C发送SIGINT信号,程序免疫
  • 3)关闭session发送SIGHUP信号,程序关闭
  • 使用nohup运行程序:
  • 1)结果默认会输出到nohup.out
  • 2)使用Ctrl + C发送SIGINT信号,程序关闭
  • 3)关闭session发送SIGHUP信号,程序免疫
  • 平时线上经常使用nohup和&配合来启动程序: 同时免疫SIGINT和SIGHUP信号
  • 详解Linux中nohup和&的用法和区别https://zhuanlan.zhihu.com/p/258326013
  • Shell 重定向 2>&1 含义说明
  • 因为 [ find /etc -names “*.txt” ] 这条命令是错误的( -names 应该是 -name)。
  • 从左往右执行,执行到 >list,此时的 stdout 为 list;而执行到 2>&1,表示 stderr 重定向到 stdout,这里也就是 list 文件。

在这里插入图片描述

  • 推荐博客:Linux shell中2>&1的含义解释(全网最全,看完就懂):https://blog.csdn.net/zhaominpro/article/details/82630528

2.2. linux对nohup日志进行定时拆分并且删除

  • 我们通过定时备份nohup文件按照日期来保存日志信息,然后在把nohup文件清空,来实现记录当天的数据.
  • 参考链接:https://blog.51cto.com/u_15585699/5192075
  • linux crontab 定时任务详解: https://www.cnblogs.com/yahuian/p/linux-crontab.html
  • 此时借助在线的 https://crontab.guru/ 工具:https://crontab.guru/
  • linux 定时任务 crontab服务启动停止重启:https://www.jb51.cc/linux/3859407.html

3. 终止进程

  • 推荐博客:nohup和&后台运行,进程查看及终止
  • 执行上面第2条命令,可以发现关闭终端重新打开后,用jobs找不到jupyter这个进程了, 于是要用ps -a,可以显示这个进程的pid
kill -9 pid 终止进程# 查看端口使用情况,使用netstat命令。查看已经连接的服务端口(ESTABLISHED
netstat -a
# 查看所有的服务端口(LISTEN,ESTABLISHED)
netstat -ap
# 查看8080端口,则可以结合grep命令:
netstat -ap | grep 8080#v如查看8888端口,则在终端中输入:
lsof -i:8888

4. jupyter lab快速格式化代码PEP8规范化

pip install jupyterlab_code_formatter
  • 1. 如果你的jupyter lab版本小于3.0.0 还需要执行以下代码
jupyter serverextension enable --py jupyterlab_code_formatter
jupyter labextension install @ryantam626/jupyterlab_code_formatter
  • 2. 安装支持的代码格式化程序
pip install autopep8 isort
  • 3. 重启 Jupyterlab
  • 4. 配置插件
  • 1. 按照“Settings” > “Advanced Settings Editor” > “Jupyterlab Code Formatter”,在右侧的 “User Preferences” 中输入一下内容
{"preferences": {"default_formatter": {"python": "autopep8","R": "styler"}}
}

在这里插入图片描述

  • 2. 设置快捷键:不设置快捷键需要右键单击代码块然后选择Format cell进行格式化 比较麻烦,Advanced Setting Edtior 下选择Keyboard Shortcuts,同样在右侧 “User Preferences” 中输入一下内容
{"shortcuts": [{"command": "jupyterlab_code_formatter:autopep8","keys": ["Ctrl Alt L"],"selector": ".jp-Notebook.jp-mod-editMode"}]
}

在这里插入图片描述

  • 参考文献:jupyter lab 快速格式化代码 PEP8规范化https://blog.csdn.net/weixin_42124536/article/details/118862309

这篇关于『Linux笔记』服务器搭建神器JupyterLab的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/227466

相关文章

Window Server创建2台服务器的故障转移群集的图文教程

《WindowServer创建2台服务器的故障转移群集的图文教程》本文主要介绍了在WindowsServer系统上创建一个包含两台成员服务器的故障转移群集,文中通过图文示例介绍的非常详细,对大家的... 目录一、 准备条件二、在ServerB安装故障转移群集三、在ServerC安装故障转移群集,操作与Ser

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

NFS实现多服务器文件的共享的方法步骤

《NFS实现多服务器文件的共享的方法步骤》NFS允许网络中的计算机之间共享资源,客户端可以透明地读写远端NFS服务器上的文件,本文就来介绍一下NFS实现多服务器文件的共享的方法步骤,感兴趣的可以了解一... 目录一、简介二、部署1、准备1、服务端和客户端:安装nfs-utils2、服务端:创建共享目录3、服

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

LinuxMint怎么安装? Linux Mint22下载安装图文教程

《LinuxMint怎么安装?LinuxMint22下载安装图文教程》LinuxMint22发布以后,有很多新功能,很多朋友想要下载并安装,该怎么操作呢?下面我们就来看看详细安装指南... linux Mint 是一款基于 Ubuntu 的流行发行版,凭借其现代、精致、易于使用的特性,深受小伙伴们所喜爱。对

什么是 Linux Mint? 适合初学者体验的桌面操作系统

《什么是LinuxMint?适合初学者体验的桌面操作系统》今天带你全面了解LinuxMint,包括它的历史、功能、版本以及独特亮点,话不多说,马上开始吧... linux Mint 是一款基于 Ubuntu 和 Debian 的知名发行版,它的用户体验非常友好,深受广大 Linux 爱好者和日常用户的青睐,

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar