搭建基于 Anaconda 管理的多用户 JupyterHub 平台
搭建基于 Anaconda 管理的多用户 JupyterHub 平台
情况:计算工作站放在实验室,多个同学需要接入使用,且需要各自独立的环境,并使用 Jupyter notebook 平台以方便协作。
步骤
1. 安装 Anaconda
由于是多人环境,应调用 root 权限在安装过程中指定安装到 /opt/anaconda/
路径下,这样所有用户均可读,但无法直接在 base 环境下安装模块。
为了让每个用户都能访问到 conda,需要逐个在用户的 .bashrc 文件中加入 export PATH='/opt/anaconda:$PATH'
。
2. 安装 JupyterHub
JupyterHub 是 Jupyter notebook 的多用户版本,每个用户可以通过自己的系统用户名和密码登录到个人独立的 Jupyter notebook 中,这样不同人的代码和数据都保存于其自己的用户目录下,同时用户的资源消耗和管理也更清晰简单,非常适合单机多用户的需求。
在 Anaconda 的 base 环境下安装 JupyterHub,注意 base 环境只有 root 可写。
(base)$ sudo conda install JupyterHub
在 base 环境下启用 JupyterHub 时亦需要通过 root,否则将会启用单用户模式,导致其他用户无法登陆。
(base)$ sudo jupyterhub
3. 安装 JupyterHub 调用 Anaconda 环境依赖
通过 conda create 创建的环境并不会默认显示在 JupyterHub 的 kernel 选项中,需要安装依赖。
(base)$ sudo conda install nb_conda_kernels
4. 用户使用
- 每个用户开始使用时,需要先建立自己的个人环境,注意由于是建立个人环境,因此该环境会写入
~/.conda
下,故不再需要 root 权限,且每个用户都可以随意安装需要的 python 模块
$ conda create --name crew
2. 建立好后,进入个人环境并安装 JupyterHub kernel
(base)$ source activate crew # 激活个人环境,注意下一行环境标识符发生变化
(crew)$ conda install ipykernel
3. 安装所需的模块,这样模块会被安装到用户的个人环境下,不会对 base 环境或其他用户的环境造成影响,且一个用户可以创建多个相互独立的环境
(crew)$ pip install numpy # or use conda install numpy
4. 访问 JupyterHub,此时可以在页面中选择所创建的个人环境的 kernel
实际尝试
- 由于可能每个同学都需要使用 tensorflow 或 keras 等深度学习模块,因此我在 base 环境中预先安装好了这些模块,这样在进行深度学习时不需要费劲地重新安装模块。
- 如果同学需要安装自己的模块,则可以直接从 base 环境新建一个个人环境,个人环境会继承 base 环境已有的模块
$ conda create -n crew
- 如果同学不需要继承 base 环境,而是想新建一个空白的新环境,也可以用 conda 做到
$ conda create -n crew python=3.6
相关文章
- 【Python成长之路】从 零做网站开发 -- 基于Flask和JQuery,实现表格管理平台
- 第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理
- s3c2410上搭建QT/Embedded4.8.5开发环境(四)--安装intel-x86 X11平台qt库qt-everywhere-opensource-src-4.8.5
- 平台云Deis部署3-deis平台安装
- EasyNVR无插件直播流媒体服务器云端集中管控的EasyNVS云管理平台安装使用文档
- Linux高级运维 第八章 部署docker容器虚拟化平台
- [HTML5]移动平台的HTML5开发框架
- Qt编写物联网管理平台48-特色功能设计
- Qt编写物联网管理平台29-跨平台
- Qt编写物联网管理平台26-组态设计
- Qt编写物联网管理平台25-位置调整
- Qt编写物联网管理平台19-端口管理
- Qt编写物联网管理平台2-界面框架
- 如何利用云效平台对研发项目进行统一规范管理?
- 还在头疼你的API,送你一个保姆级的API设计管理平台
- ITTC数据挖掘平台介绍(七)强化的数据库, 虚拟化,脚本编辑器
- 微信公众平台开发之会员卡
- 暴雪团队使用VS进行Linux平台崩溃分析
- 1. 用户行为采集平台概述
- 企业管理低代码—无代码平台的7个技巧
- 【Ansible自动化运维实战】在Jumpserver平台使用Ansible管理服务器
- 云原生之使用docker部署Ansible管理平台Ansible Semaphore