JupyterHub简单使用
Jupyter Notebook 已成为数据分析的通用工具之一,在气象领域也有广泛的应用。
之前我一直使用 Pycharm 调试 Python 程序,但今年开始使用 Jupyter Notebook 后,发现在数据探索和可视化等方面还是 Jupyter Notebook 更方便,也更轻量级。
Jupyter Notebook 仅运行在单个用户账户下。如果想要向不同用户提供环境一致但相互独立的 Jupyter Notebook,可以使用 JupyterHub 工具。
本文介绍 JupyterHub 的简单使用方法。
快速开始
使用 conda 安装:
conda install -c conda-forge jupyterhub
conda install notebook
在某个目录下启动 Hub 服务器
jupyterhub
浏览器访问 https://localhost:8000 ,使用系统密码登录。
想要支持多个用户登录,必须使用管理员账户启动 jupyterhub
:
sudo jupyterhub
上述启动的仅仅是一个简单的服务,最好使用配置文件设置一些参数。
配置
使用 jupyterhub
生成默认的配置文件 jupyterhub_config.py
jupyterhub --generate-config
默认的配置文件 jupyterhub_config.py
中配置项都包含在注释中,例如
## Duration (in seconds) to determine the number of active users.
#c.JupyterHub.active_user_window = 1800
指定配置文件启动 Hub 服务
jupyterhub -f /path/to/jupyterhub_config.py
修改设置
下面修改一些设置
修改绑定的 URL
c.JupyterHub.bind_url = 'http://127.0.0.1:9500'
设置 Jupyter Notebook 启动的目录
c.Spawner.notebook_dir = '~/notebook'
默认启动 JupyterLab
c.Spawner.default_url = '/lab'
配置管理员账户,可以访问管理界面 /hub/admin
。
c.Authenticator.admin_users = ("wangdp", )
局限
默认配置下,JupyterHub 使用系统账户验证,必须使用管理员账户启动才能让所有用户访问。 但很多时候无法为每个用户都配置用户账户,也不一定能获取到管理员账户权限。 所以我还需要进一步研究 JupyterHub 的功能。
参考
https://jupyterhub.readthedocs.io/en/stable/quickstart.html
https://jupyterhub.readthedocs.io/en/stable/getting-started/config-basics.html