softasap.sa-jupyterhub

sa-jupyterhub

Build Status

JupyterHubで作業するユーザーをjupyterグループに追加します。

sudo usermod -a -G jupyter userName

# 
sudo usermod -a -G jupyter vagrant
sudo usermod -a -G jupyter ubuntu

ユーザーがJupyterHubで作業することを許可されていない場合、そのユーザーのセッションを開始できません。エラーメッセージが誤解を招くことがあります。例えば、「Anaconda Error in Authenticator.pre_spawn_start: ValueError substring not found」といったメッセージです。

使用例:

シンプル

     - {
         role: "sa-jupyterhub"
       }

高度な設定

     - {
         role: "sa-jupyterhub",
         option_install_python2: True,
         option_install_python3: True,
         option_install_anaconda: True,
         option_install_git: True,
         jupyterhub_python: "anaconda",  # python3 / anaconda
         option_install_nodejs_legacy: True,
         jupyterhub_properties:
           - {regexp: "^c.Authenticator.admin_users*", line: "c.Authenticator.admin_users = {'jupyter'}"}
           - {regexp: "^c.LocalAuthenticator.create_system_users*", line: "c.LocalAuthenticator.create_system_users = True"}
           - {regexp: "^c.JupyterHub.confirm_no_ssl*", line: "c.JupyterHub.confirm_no_ssl = True"}
         jupyterhub_ip: "{{ansible_default_ipv4.address}}",
         anaconda_version: '5.1.0',
         anaconda_python: 3, # 2|3
         option_anaconda_addtoprofile: False,
         option_anaconda_update_packages: True,
         anaconda_base_dir: /usr/local,
         anaconda_additional_packages: [],
         python_version: "3.6.4"
       }

クレジット:

Python3用にAnacondaをインストールする場合、サードパーティモジュールを使用してパッケージを管理します:

condaモジュール: https://github.com/UDST/ansible-conda、ライセンスはlibrary/License.txtで確認できます。

カスタムカーネルのインストール

  1. jupyterユーザーとしてログインします。
$ whoami
jupyter
  1. 利用可能なカーネルをリストします。
jupyter kernelspec list

3.1 condaを使用して新しいカーネルを作成します。

注意: condaを使用するためにシェルを準備する必要がある場合があります。

conda init <SHELL_NAME>
/usr/local/anaconda/bin/conda search "^python$"
...
python                         3.8.2      h191fe78_0  pkgs/main
python                         3.8.2      hcf32534_0  pkgs/main

Pythonのバージョンを選択し、仮想環境を作成します。

/usr/local/anaconda/bin/conda create -n Anaconda3.6 python=3.6 anaconda

作成したら、仮想環境をアクティブにします。

conda activate Anaconda3.6

環境がアクティブになっていることを確認し、ipykernelをインストールします。

(Anaconda3.6) jupyter@bionic:~$ pip install ipykernel

JupyterノートブックでAnaconda3.6を使用できるように登録します。

python -m ipykernel install --user --name Anaconda3.6 --display-name  "Python 3.6 - anaconda venv"
Installed kernelspec Anaconda3.6 in /home/jupyter/.local/share/jupyter/kernels/anaconda3.6

完了です。

jupyter kernelspec list
利用可能なカーネル:
  anaconda3.6    /home/jupyter/.local/share/jupyter/kernels/anaconda3.6
  python3        /usr/local/share/jupyter/kernels/python3

カーネルの登録は、単なるjsonファイルです。cat /home/vagrant/.local/share/jupyter/kernels/anaconda3.6/kernel.json で確認できます。

{
 "argv": [
  "/home/vagrant/.conda/envs/Anaconda3.6/bin/python",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "Python 3.6 - anaconda venv",
 "language": "python"
}

自分のユーザー用にカーネルをインストールできますし、すべてのユーザー用にインストールする場合は、定義を/usr/local/share/jupyter/kernels/に配置し、適切な権限設定を行う必要があります。(jupyterグループの書き込み権限など)

3.2 ansibleカーネルのインストール

pip install ansible-kernel
python -m ansible_kernel.install

または

pip install ansible-kernel
python -m ansible_kernel.install --sys-prefix

Ansible Galaxyのワークフローでの使用

sa-jupyterhubロールを次のコマンドでインストールした場合、

   ansible-galaxy install softasap.sa-jupyterhub

ロールはlibrary/softasap.sa-jupyterhubフォルダに利用可能です。パスを適宜調整してください。

     - {
         role: "softasap.sa-jupyterhub"
       }

著作権とライセンス

コードはBSD 3条項MITライセンスの二重ライセンスです。自分に合った方を選んでください。

私たちに連絡する:

役割の更新情報をFBで購読してください。

Gitterのディスカッショントピックに参加してください。

他の役割を発見するには、http://www.softasap.com/roles/registry_generated.htmlをご覧ください。

私たちのブログはhttp://www.softasap.com/blog/archive.htmlでご覧になれます。

プロジェクトについて

jupyter hub

インストール
ansible-galaxy install softasap.sa-jupyterhub
ライセンス
Unknown
ダウンロード
72
所有者
Get your application deployed in a robust way