sa-jupyterhub

sa-jupyterhub

Статус сборки

Добавьте пользователей, работающих с jupyterhub, в группу jupyter

sudo usermod -a -G jupyter имяПользователя

# например
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"}
           # - {regexp: "^c.JupyterHub.hub_ip*", line: "c.JupyterHub.hub_ip = '{{ jupyterhub_ip }}'"}
           # - {regexp: "^c.JupyterHub.ip*", line: "c.JupyterHub.ip = '{{ jupyterhub_ip }}'"}
           # - {regexp: "^c.JupyterHub.proxy_api_ip*", line: "c.JupyterHub.proxy_api_ip = '{{ jupyterhub_ip }}'"}

         jupyterhub_ip: "{{ansible_default_ipv4.address}}",

         # ANACONDA
         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: [],
         # /ANACONDA
         # PYTHON 3

         python_version: "3.6.4"

         # /PYTHON 3

       }

Кредиты:

Если вы устанавливаете anaconda вместо python3, используется сторонний модуль для управления пакетами:

модуль conda для python: 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

Зарегистрируйте Anaconda3.6 для использования в ваших jupyter заметках:

python -m ipykernel install --user --name Anaconda3.6 --display-name  "Python 3.6 - anaconda venv"
Установлено ядро Anaconda3.6 в /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 clause] (https://opensource.org/licenses/BSD-3-Clause) и [MIT License] (http://opensource.org/licenses/MIT). Выберите тот, который вам больше подходит.

Свяжитесь с нами:

Подпишитесь на обновления ролей в [FB] (https://www.facebook.com/SoftAsap/)

Присоединяйтесь к каналу обсуждения gitter на Gitter

Откройте другие роли на http://www.softasap.com/roles/registry_generated.html

посетите наш блог на http://www.softasap.com/blog/archive.html

Установить
ansible-galaxy install softasap/sa-jupyterhub
Лицензия
Unknown
Загрузки
63
Владелец
Get your application deployed in a robust way