zoukankan      html  css  js  c++  java
  • 搭建基于 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. 用户使用

    1. 每个用户开始使用时,需要先建立自己的个人环境,注意由于是建立个人环境,因此该环境会写入 ~/.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
  • 相关阅读:
    深入理解线程通信
    你应该知道的 volatile 关键字
    CSS-盒模型与文本溢出笔记
    Html-表单笔记
    浏览器中缓存Cache
    python-对requests请求简单的封装
    【译】MongoDb vs Mysql—以NodeJs为例
    太嚣张了!他竟用Python绕过了“验证码”
    【转】Python之道
    selenium-测试框架搭建(十三)
  • 原文地址:https://www.cnblogs.com/adolfmc/p/11977779.html
Copyright © 2011-2022 走看看