JupyterLab 是一个基于 Web 的交互式开发环境,可以用于数据科学、数值计算、机器学习等领域的开发和研究工作。Jupyter 是 JUlia、PYT、R 三者的合写。
1 安装
有两种方式:直接在机器上安装和基于 docker 安装。
1.1 直接安装
用 python 的包管理器就行,pip
和conda
都可以。
python3 -m pip install --user --upgrade jupyterlab
1.2 用 docker
首先需要安装 docker,可以参考本网站其他部分。然后获取相应的 docker image,这部分也可以参照这里。
docker pull jupyter/datascience-notebook
2 配置 jupyterlab
2.1 本地安装的 jupyter 用 systemctl 来管理
需要创建一个jupyter.service
文件,地址是/etc/systemd/system/jupyter.service
:
[Unit]
Description=Jupyter Lab
After=syslog.target network.target
[Service]
User=your_username
Group=your_groupname
Environment="PATH=/usr/local/bin:/usr/bin:/bin"
ExecStart=/usr/bin/jupyter lab --ip=0.0.0.0 --port=8888 --no-browser
WorkingDirectory=/home/your_username/
Restart=always
RestartSec=10
KillMode=mixed
[Install]
WantedBy=multi-user.target
注意,您需要将 User
和 Group
字段替换为您的用户名和组名。WorkingDirectory
字段应指向您要在其中运行 Jupyter Lab 的目录。对服务进行管理:
sudo systemctl daemon-reload
sudo systemctl start jupyter
sudo systemctl enable jupyter
配置防火墙规则。如果您的服务器上启用了防火墙,请确保开放 Jupyter Lab 使用的端口(默认情况下为 8888
)。
2.2 使用 docker 来配置
创建一个文件夹用于存储 JupyterLab 的配置文件,例如:
mkdir jupyterlab_config
在终端中,使用以下命令来拉取 JupyterLab 的 Docker 镜像:
docker pull jupyter/scipy-notebook
该命令将从 Docker Hub 中拉取 JupyterLab 的 scipy-notebook 版本的镜像。你可以选择其他版本,例如 jupyter/datascience-notebook
或者 jupyter/minimal-notebook
,具体可以参考 Docker Hub 中的文档。运行以下命令来启动 JupyterLab 容器:
docker run -p 8888:8888 -v /path/to/jupyterlab_config:/home/jovyan/.jupyter jupyter/scipy-notebook
这将启动 JupyterLab 容器,并将本地的 8888
端口映射到容器的 8888
端口,同时将 JupyterLab 的配置文件存储在本地 /path/to/jupyterlab_config
文件夹中。
在浏览器中访问 JupyterLab,输入 http://localhost:8888 并按下回车键。你将看到 JupyterLab 的登录页面。在登录时,请使用 token 身份验证,可以在容器日志中找到该令牌,或者可以使用以下命令来获取令牌:
docker logs <container_name_or_id>
在容器日志中,可以找到类似于下面这样的令牌:
http://127.0.0.1:8888/?token=xxxxxxxxxxxx
将令牌复制并粘贴到登录页面上即可。
完成后,可以在 JupyterLab 中使用自己的 Python 代码和库了。
3 安全功能
主要是配置密码,开启 2FA。
3.1 配置密码
要设置 JupyterLab 的密码,请运行以下命令:
jupyter notebook password
然后,按照提示输入所需的密码即可。密码将以哈希方式存储在您的 JupyterLab 配置文件中。
3.1 使用 2fa 来配置
要启用 JupyterLab 的 2FA,可以使用 jupyter-server-mfa
扩展。以下是一些简单的步骤:
python3 -m pip install jupyter-server-mfa
生成并设置共享密钥。以下命令生成 64 字节的随机密钥:
jupyter mfa-keygen
将生成的密钥保存在安全的地方,并将其添加到 JupyterLab 配置文件中:
c.ServerMFA.shared_secret = b'your_secret_key'
配置 JupyterLab。要启用 2FA,需要在 JupyterLab 配置文件中添加以下行:
c.ServerApp.authenticator_class = 'jupyter_server_mfa.MFAAuthenticator'
c.ServerApp.disable_check_xsrf = True
重新启动 JupyterLab,然后使用用户名和密码登录。登录后,您将被要求输入 TOTP(时间同步一次性密码)代码,可以使用 Google Authenticator 或类似的应用程序生成它。
希望这些步骤可以帮助您在 JupyterLab 中设置密码或启用 2FA。请记住,使用强密码、2FA 等安全措施可以帮助保护您的系统和数据。