Python
From Alessandro's Wiki
Pip
- update Pip version using pip itself
pip install pip -U
Advanced
Virtual Environments
Package dependencies are sometimes incompatible to each other, so the solution is to create a isolated package tree shell to have a "clean" system for every package installation. In python it's the Virutal Environment
- create:
python3 -m venv new-env
- activate
source ~/new-env/bin/activate
JupyterHub
Installation
- create a user (jupyterhub
python3 -m venv jupyterhub-env . jupyterhub-env/bin/activate (jupyterhub-env) ~ $ pip install jupyterhub
- Extension IPython (using JupyterLab 2)
pip install ipympl pip install nodejs jupyter labextension install @jupyter-widgets/jupyterlab-manager jupyter labextension install jupyter-matplotlib
Config
- Users
adduser -G jupyterhub newuser
- in /etc/sudoers
Cmnd_Alias JUPYTER_CMD = /usr/local/bin/sudospawner rhea ALL=(%jupyterhub) NOPASSWD:JUPYTER_CMD
Use JupyterLab by Default (instead of Notebook) in /etc/jupyterhub/jupyterhub_config.py
c.Spawner.cmd=["jupyter-labhub"]
- change default notebook directory
c.Spanwer.default_url: /notebooks c.Spawner.notebook_dir: /apps/jupyter
- Running as root is not recommended. Use --allow-root to bypass.
c.Spawner.args = ['--allow-root']
Debug
- run with debug from cli
jupyterhub -f /etc/jupyterhub/jupyterhub_config.py --debug
- [D 2022-02-15 10:27:43.776 JupyterHub app:2727] Could not load pycurl: No module named 'pycurl'
pip install pycurl