服务器搭建神器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信号
  • Shell 重定向 2>&1 含义说明
  • 因为 [ find /etc -names “*.txt” ] 这条命令是错误的( -names 应该是 -name)。
  • 从左往右执行,执行到 >list,此时的 stdout 为 list;而执行到 2>&1,表示 stderr 重定向到 stdout,这里也就是 list 文件。

在这里插入图片描述

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

  • 我们通过定时备份nohup文件按照日期来保存日志信息,然后在把nohup文件清空,来实现记录当天的数据.

3. 终止进程

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"
        }
    ]
}

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐