配置 jupyter 允许远程


我的环境: ubuntu16.04,python3.6

下面是配置 jupyterlab 远程访问,如果想让 notebook 远程访问的方法也一模一样(是因为它俩使用的是同一配置文件)。

1. 安装 jupyterlab

pip3 install jupyterlab

2. 配置

2.1 生成配置文件

jupyter notebook --generate-config
# 此命令运行后会显示出配置文件的路径,记下来。
# 通常是在当前用户的家目录下的 .jupyter/jupyter_notebook_config.py

2.2 配置访问密码

终端进入 python3后,依次输入下面两行

>>> from notebook.auth import passwd
>>> passwd()
# 此处输入两次密码后会返回一个 sha1 数字签名,记下来。

2.3 修改配置

vim .jupyter/jupyter_notebook_config.py

# 写入下面配置
c.NotebookApp.notebook_dir = u'/root/workspace_jupyter'  # jupyter存放文件的路径
c.NotebookApp.ip = '0.0.0.0'  # 允许所有ip访问
c.NotebookApp.password = u'sha1:...'  # 上面的 sha1 签名
c.NotebookApp.open_browser = False  # 服务器不打开浏览器
c.NotebookApp.port = 8888  # 端口号
c.NotebookApp.allow_root = True  # 允许root用户访问

注意:

有的服务器配置 c.NotebookApp.ip = '*'时,启动 jupyterlab 会出现下面错误

socket.gaierror: [Errno -5] No address associated with hostname

故推荐使用 c.NotebookApp.ip = '0.0.0.0'

设置完成后对于像阿里云等服务器需要打开相应端口的出入规则。具体见前文: https://www.brothereye.cn/ubuntu/29/#index-3

3. 运行

3.1 运行

jupyter lab

3.2 后台运行

推荐使用 tmux,详细安装及配置见 终端复用tmux配置及使用,脚本启动文件创建为:

touch jl
chmod +x jl
vim jl

启动文件写入以下内容:

#!/bin/bash
# jl - start jupyterlab in tmux

sess_name="jupyterlab"

export DISABLE_AUTO_TITLE="true"

tmux has-session -t sess_name
if [? = 0 ];then
    echo sess_name "already exist. attaching..."
    tmux attach-session -tsess_name
    # exit
else
    echo sess_name "doesn't exist. creating..."
    tmux new -d -ssess_name -n home
    tmux send-keys -t $sess_name:1 "jupyter lab" Enter
fi

运行

./jl
评论
发表评论 说点什么