softasap.sa-jupyterhub
sa-jupyterhub
Fügen Sie Benutzer, die mit Jupyterhub arbeiten, zur Jupyter-Gruppe hinzu:
sudo usermod -a -G jupyter Benutzername
# z. B.
sudo usermod -a -G jupyter vagrant
sudo usermod -a -G jupyter ubuntu
Wenn ein Benutzer nicht berechtigt ist, mit Jupyterhub zu arbeiten, kann das System keine Sitzung für diesen Benutzer starten. Die Fehlermeldung könnte irreführend sein, zum Beispiel: 'Anaconda-Fehler in Authenticator.pre_spawn_start: ValueError Substring nicht gefunden'.
Beispiel für die Verwendung:
Einfach
- {
role: "sa-jupyterhub"
}
Fortgeschritten
- {
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
}
Credits:
Wenn Sie Anaconda anstelle von Python3 installieren, wird ein Drittanbieter-Modul zur Verwaltung von Paketen verwendet:
Conda-Modul für Python: https://github.com/UDST/ansible-conda , siehe Lizenz für das Modul unter library/License.txt
Benutzerdefinierte Kerne installieren
- Melden Sie sich als Jupyter-Benutzer an
$ whoami
jupyter
- Liste der verfügbaren Kerne anzeigen
jupyter kernelspec list
3.1 Neuen Kern mit Conda erstellen
Hinweis: Möglicherweise müssen Sie Ihre Shell für die Verwendung mit Conda vorbereiten, indem Sie
conda init <SHELL_NAME>
ausführen.
/usr/local/anaconda/bin/conda search "^python$"
...
python 3.8.2 h191fe78_0 pkgs/main
python 3.8.2 hcf32534_0 pkgs/main
Wählen Sie die Python-Version und erstellen Sie eine virtuelle Umgebung
/usr/local/anaconda/bin/conda create -n Anaconda3.6 python=3.6 anaconda
Sobald sie erstellt ist, aktivieren Sie die zuvor erstellte Umgebung
conda activate Anaconda3.6
Stellen Sie sicher, dass die Umgebung aktiviert ist, und installieren Sie ipykernel
(Anaconda3.6) jupyter@bionic:~$ pip install ipykernel
Registrieren Sie Anaconda3.6 zur Verwendung in Ihren Jupyter-Notebooks:
python -m ipykernel install --user --name Anaconda3.6 --display-name "Python 3.6 - anaconda venv"
Installierte kernelspezifikation Anaconda3.6 in /home/jupyter/.local/share/jupyter/kernels/anaconda3.6
Sie sind fertig:
jupyter kernelspec list
Verfügbare Kerne:
anaconda3.6 /home/jupyter/.local/share/jupyter/kernels/anaconda3.6
python3 /usr/local/share/jupyter/kernels/python3
Hinweis: Die Kernregistrierung ist nichts anderes als eine json-Datei 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"
}
Sie können Kerne für Ihren eigenen Benutzer oder für alle Benutzer installieren. Dann sollte die Definition in
/usr/local/share/jupyter/kernels/
landen und Sie sollten entsprechende Rechte für die Gruppe jupyter
vergeben.
3.2 Ansible-Kern installieren
pip install ansible-kernel
python -m ansible_kernel.install
oder
pip install ansible-kernel
python -m ansible_kernel.install --sys-prefix
Verwendung mit Ansible Galaxy Workflow
Wenn Sie die sa-jupyterhub
-Rolle mit dem Befehl installiert haben:
ansible-galaxy install softasap.sa-jupyterhub
wird die Rolle im Ordner library/softasap.sa-jupyterhub
verfügbar sein. Bitte passen Sie den Pfad entsprechend an.
- {
role: "softasap.sa-jupyterhub"
}
Urheberrecht und Lizenz
Der Code ist zweifach lizenziert unter der [BSD-3-Klausel] (https://opensource.org/licenses/BSD-3-Clause) und der [MIT-Lizenz] (http://opensource.org/licenses/MIT). Wählen Sie die Lizenz, die am besten zu Ihnen passt.
Erreichen Sie uns:
Abonnieren Sie Updates zu Rollen auf [FB] (https://www.facebook.com/SoftAsap/)
Treten Sie dem Gitter-Diskussionskanal bei Gitter
Entdecken Sie andere Rollen unter http://www.softasap.com/roles/registry_generated.html
Besuchen Sie unseren Blog unter http://www.softasap.com/blog/archive.html
ansible-galaxy install softasap.sa-jupyterhub