Environments & Packages#
TLJH installs packages from different sources during installation. This document describes the various sources and how to upgrade versions of packages installed.
TLJH sets up two python environments during installation.
Hub Environment. JupyterHub, authenticators, spawners, TLJH plugins and the TLJH configuration management code is installed into this environment. A venv is used, primarily since conda does not support ARM CPUs and we’d like to support the RaspberryPI someday. Admins generally do not install custom packages in this environment.
User Environment. Jupyter Notebook, JupyterLab, kernels, and packages the users wanna use (such as numpy, scipy, etc) are installed here. A conda environment is used here, since a lot of scientific packages are available from Conda.
pipis still used to install Jupyter specific packages, primarily because most notebook extensions are still available only on PyPI. Admins can install packages here for use by all users.
Python package versions#
installer.py, most Python packages have a version specified. This
can be upgraded freely whenever needed. Some of them have version checks
integration-tests/test_extensions.py, so those might need
Base operating system packages, including Python itself, are installed
apt from the base Ubuntu repositories.
We generally do not pin versions of packages provided by apt, instead just using the latest versions provided by Ubuntu.