softasap.sa-jupyterhub
sa-jupyterhub
Dodaj użytkowników pracujących z JupyterHub do grupy jupyter
sudo usermod -a -G jupyter nazwaUżytkownika
# np.
sudo usermod -a -G jupyter vagrant
sudo usermod -a -G jupyter ubuntu
jeśli użytkownik nie ma pozwolenia na korzystanie z JupyterHub, system nie będzie mógł uruchomić sesji dla tego użytkownika, chociaż komunikat o błędzie może być mylący, na przykład 'Anaconda Error in Authenticator.pre_spawn_start: ValueError substring not found'
Przykład użycia:
Prosty
- {
rola: "sa-jupyterhub"
}
Zaawansowany
- {
rola: "sa-jupyterhub",
opcja_instalacja_python2: True,
opcja_instalacja_python3: True,
opcja_instalacja_anaconda: True,
opcja_instalacja_git: True,
jupyterhub_python: "anaconda", # python3 / anaconda
opcja_instalacja_nodejs_legacy: True,
właściwości_jupyterhub:
- {regexp: "^c.Authenticator.admin_users*", linia: "c.Authenticator.admin_users = {'jupyter'}"}
- {regexp: "^c.LocalAuthenticator.create_system_users*", linia: "c.LocalAuthenticator.create_system_users = True"}
- {regexp: "^c.JupyterHub.confirm_no_ssl*", linia: "c.JupyterHub.confirm_no_ssl = True"}
jupyterhub_ip: "{{ansible_default_ipv4.address}}",
# ANACONDA
wersja_anaconda: '5.1.0',
python_anaconda: 3, # 2|3
opcja_anaconda_dodaj_do_profilu: False,
opcja_anaconda_aktualizuj_pakiety: True,
anaconda_baza_dir: /usr/local,
anaconda_dodatkowe_pakiety: [],
# /ANACONDA
# PYTHON 3
wersja_python: "3.6.4"
# /PYTHON 3
}
Podziękowania:
Jeśli zainstalujesz anacondę z myślą o pythonie 3, używana jest zewnętrzna biblioteka do zarządzania pakietami:
moduł conda dla Pythona: https://github.com/UDST/ansible-conda , zobacz Licencję dla modułu w library/License.txt
Instalacja niestandardowych rdzeni
- Zaloguj się jako użytkownik jupyter
$ whoami
jupyter
- Wyświetl dostępne rdzenie
jupyter kernelspec list
3.1 Utwórz nowy rdzeń używając conda
Uwaga: może być konieczne przygotowanie shella do użycia z condą, wykonując
conda init <NAZWA_SHELLA>
/usr/local/anaconda/bin/conda search "^python$"
...
python 3.8.2 h191fe78_0 pkgs/main
python 3.8.2 hcf32534_0 pkgs/main
wybierz wersję pythona i utwórz wirtualne środowisko
/usr/local/anaconda/bin/conda create -n Anaconda3.6 python=3.6 anaconda
po utworzeniu, aktywuj wcześniej utworzone środowisko
conda activate Anaconda3.6
upewnij się, że środowisko jest aktywowane i zainstaluj ipykernel
(Anaconda3.6) jupyter@bionic:~$ pip install ipykernel
Zarejestruj Anaconda3.6 do użycia w swoich notatnikach jupyter:
python -m ipykernel install --user --name Anaconda3.6 --display-name "Python 3.6 - anaconda venv"
Zainstalowany rdzeń Anaconda3.6 w /home/jupyter/.local/share/jupyter/kernels/anaconda3.6
gotowe:
jupyter kernelspec list
Dostępne rdzenie:
anaconda3.6 /home/jupyter/.local/share/jupyter/kernels/anaconda3.6
python3 /usr/local/share/jupyter/kernels/python3
Uwaga, że rejestracja rdzenia to nic innego jak plik 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"
}
możesz mieć rdzenie zainstalowane dla własnego użytkownika lub dla wszystkich użytkowników, wtedy definicja powinna trafić do
/usr/local/share/jupyter/kernels/
i powinieneś odpowiednio ustalić prawa (np. zapisu dla grupy jupyter)
3.2 Zainstaluj rdzeń ansible
pip install ansible-kernel
python -m ansible_kernel.install
lub
pip install ansible-kernel
python -m ansible_kernel.install --sys-prefix
Użycie w przepływie pracy ansible galaxy
Jeśli zainstalowałeś rolę sa-jupyterhub
za pomocą polecenia
ansible-galaxy install softasap.sa-jupyterhub
rola będzie dostępna w folderze library/softasap.sa-jupyterhub
Proszę dostosować ścieżkę odpowiednio.
- {
rola: "softasap.sa-jupyterhub"
}
Copyright i licencja
Kod jest podwójnie licencjonowany na podstawie [BSD 3 clause] (https://opensource.org/licenses/BSD-3-Clause) oraz [MIT License] (http://opensource.org/licenses/MIT). Wybierz ten, który najlepiej Ci odpowiada.
Skontaktuj się z nami:
Subskrybuj aktualizacje ról na [FB] (https://www.facebook.com/SoftAsap/)
Dołącz do kanału dyskusyjnego gitter na Gitter
Odkryj inne role na http://www.softasap.com/roles/registry_generated.html
odwiedź naszego bloga na http://www.softasap.com/blog/archive.html
ansible-galaxy install softasap.sa-jupyterhub