softasap.sa-jupyterhub
sa-jupyterhub
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で確認できます。
カスタムカーネルのインストール
- jupyterユーザーとしてログインします。
$ whoami
jupyter
- 利用可能なカーネルをリストします。
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をご覧ください。
ansible-galaxy install softasap.sa-jupyterhub