JupyterHub
Once Jupyter Notebooks were shared, it became obvious that the multiuser problem had to be solved. A new version of the Jupyter software was developed called JupyterHub. JupyterHub was specifically designed to handle multiple users, giving each user their own set of variables to work with. Actually, the system will give each user a whole new instance of the Jupyter software to each user—a brute-force approach, but it works.
When JupyterHub starts, it begins a hub or controlling agent. The hub will start an instance of a listener or proxy for Jupyter requests. When the proxy gets requests for Jupyter, it turns them over to the hub. If the hub decides this is a new user, it will generate a new instance of the Jupyter server and attach all further interactions between that user and Jupyter to their own version of the server.
Installation
JupyterHub requires Python 3.3 or better, and we will use the Python tool pip3
to install JupyterHub. You can check the version of Python you are running...