softasap.sa-jupyterhub

sa-jupyterhub

État de construction

Ajoutez des utilisateurs travaillant avec JupyterHub au groupe jupyter

sudo usermod -a -G jupyter nomUtilisateur

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

Si un utilisateur n'est pas autorisé à travailler avec JupyterHub, le système ne pourra pas démarrer de session pour cet utilisateur, même si le message d'erreur peut être trompeur, par exemple 'Erreur Anaconda dans Authenticator.pre_spawn_start: ValueError sous-chaine non trouvée'

Exemple d'utilisation :

Simple

     - {
         rôle: "sa-jupyterhub"
       }

Avancé

     - {
         rôle: "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
       }

Crédits :

Si vous installez Anaconda au lieu de Python3, un module tiers est utilisé pour gérer les paquets :

module conda pour python: https://github.com/UDST/ansible-conda , voir la licence pour le module sous library/License.txt

Installer des noyaux personnalisés

  1. Connectez-vous en tant qu'utilisateur jupyter
$ whoami
jupyter
  1. Liste des noyaux disponibles
jupyter kernelspec list

3.1 Créer un nouveau noyau en utilisant conda

Remarque : vous pourriez avoir besoin de préparer votre shell pour l'utilisation avec conda en invoquant

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

choisissez la version de Python et créez un environnement virtuel

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

une fois créé, activez l'environnement créé précédemment

conda activate Anaconda3.6

assurez-vous que l'environnement est activé et installez ipykernel

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

Enregistrez Anaconda3.6 pour une utilisation sur vos notebooks Jupyter :

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

C'est fini :

 jupyter kernelspec list
Noyaux disponibles :
  anaconda3.6    /home/jupyter/.local/share/jupyter/kernels/anaconda3.6
  python3        /usr/local/share/jupyter/kernels/python3

Remarque, que l'enregistrement du noyau n'est rien d'autre qu'un fichier 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"
}

Vous pouvez avoir des noyaux installés pour votre propre utilisateur, ou pour tous les utilisateurs, dans ce cas, la définition doit se trouver dans /usr/local/share/jupyter/kernels/ et vous devez faire les arrangements appropriés pour les droits (c'est-à-dire l'écriture pour le groupe jupyter).

3.2 Installer le noyau ansible

pip install ansible-kernel
python -m ansible_kernel.install

ou

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

Utilisation avec le workflow ansible galaxy

Si vous avez installé le rôle sa-jupyterhub en utilisant la commande

ansible-galaxy install softasap.sa-jupyterhub

le rôle sera disponible dans le dossier library/softasap.sa-jupyterhub Veuillez ajuster le chemin en conséquence.

     - {
         rôle: "softasap.sa-jupyterhub"
       }

Droits d'auteur et licence

Le code est sous double licence sous la [BSD 3 clauses] (https://opensource.org/licenses/BSD-3-Clause) et la [licence MIT] (http://opensource.org/licenses/MIT). Choisissez celle qui vous convient le mieux.

Contactez-nous :

Abonnez-vous aux mises à jour des rôles sur [FB] (https://www.facebook.com/SoftAsap/)

Rejoignez le canal de discussion gitter à Gitter

Découvrez d'autres rôles sur http://www.softasap.com/roles/registry_generated.html

visitez notre blog à http://www.softasap.com/blog/archive.html

À propos du projet

jupyter hub

Installer
ansible-galaxy install softasap.sa-jupyterhub
Licence
Unknown
Téléchargements
72
Propriétaire
Get your application deployed in a robust way