1. 重点步骤
1.1. 安装JupyterLab
pip install jupyterlab
jupyter-notebook password
ipython
from notebook.auth import passwd
passwd()
'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
并运行后,发现它会占用当前终端,于是研究了一下怎么让它在后台运行。
jupyter lab --allow-root > jupyter.log 2>&1 &
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 lab --port='8888' --ip='*' --notebook-dir='/workspace' --allow-root --NotebookApp.token='12345678'
- 命令解释:
- 用
&
让命令 后台运行,并把标准输出写入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 -a
netstat -ap
netstat -ap | grep 8080
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
pip install autopep8 isort
- 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"
}
]
}