About Python and JupyterHub server
This page describes both global and user command-line Python environments, and the Python environment available in the JupyterHub server web application. It does not address user-configured conda environments.
System and JupyterHub server Python versions
As of January 2024, the (single) Python kernel version in all JupyterHub servers is Python 3.9, and recent versions of many popular Python pacakges are available (e.g. pandas, numpy, scipy, etc.)
Users cannot install additional packages in JupyterHub, and any Python packages installed by the user on the command line are not available in the JupyterHub server environment.
This is because JupyterHub server packages are installed in a global anaconda environment that is only accessible to admin users. Thus JupyterHub packages must be installed by us, so contact us (rctf-support@utexas.edu) if there is a package you'd like to see installed.
There are three versions of Python available on the command line ("system" Python) on BRCF compute servers. In Ubuntu 20.04, these versions and the command to invoke them are:
- 2.7 - python, python2
- 3.8 - python3, python3.8
- 3.9 - python3.9
Note that Python 3.8 is the default version when you invoke python3. To use Python 3.9, call python3.9.
There are corresponding versions of pip that should be used to install 3rd party packages:
- for Python 2 - pip, pip2
- for Python 3.8 - pip3, pip3.8
- for Python 3.9 - pip3.9
Understanding Python add-on packages
Globally installed Python packages are available to any Python command-line environment of a compatible version. To see which Python packages are installed, along with their versions, use pip2 list, pip3.8 list or pip3.9 list. Similarly, user-installed packages can be viewed using pip2 list --user, pip3.8 list --user or pip3 list user.
In addition to the many Python packages available in all the versions, users can their own install command-line-accessible packages using an appropriate version of pip install with the --user option. These user-installed packages are installed by default in the user's Home directory, in a directory with a name like ~/.local/lib/pythonN.N/site-packages, where N.N is the Python version.
Users cannot install additional packages in JupyterHub, and any Python packages installed by the user on the command line are not available in the JupyterHub server environment.
This is because JupyterHub server packages are installed in a global anaconda environment that is only accessible to admin users. Thus JupyterHub packages must be installed by us, so contact us (rctf-support@utexas.edu) if there is a package you'd like to see installed. (This is different from the R environment, where user-installed packages are automatically visible to the RStudio Server running a compatible R version. See R and RStudio Server R versions.)
Local/Global package installation conflicts
Globally-installed Python add-on packages may be updated during system maintenance. This can sometimes cause problems when users invoke Python tools, or load Python libraries, with many dependencies when some of the dependencies have been updated system-wide, but others have been locally installed and are not at a compatible level. The resulting error messages can be rather obscure, but typically show up after system maintenance has been performed.
To troubleshoot this possibility, move your local Python installation area out of the way. For example, for Python 3.9:
mv ~/.local/lib/python3.9 ~/.local/lib/python3.9.bak
If this produces a different error indicating that one or more locally installed packages are missing, the user can re-install them then see if the problem is resolved. Check the now-named ~/.local/lib/pythonN.N.bak/site-packages directory, where N.N is the Python version being used to see the packages that were locally installed previously. Even if this resolves the immediate issue, the user may later find that they need to re-install other packages that were previously installed locally.
Finally, if renaming the local Python installation directory does not resolve the issue, it may be an issue with the globally installed packages, so contact us at rctf-support@utexas.edu.
Troubleshooting JupyterHub server issues
Issues can arise involving JupyterHub server (or less commonly, command-line Python). These browser and disk quota issues are similar to those seen for R, so see Troubleshooting R/RStudio server issues. If all else fails, submit a help request to our rctf-support@utexas.edu support email.
One issue specific to JupyterHub is getting 503: service unavailable. with the message: try restarting it from the hub after logging in with BRCF credentials. Sometime just clicking on the Restart button will work; if not, try logging in again.
Welcome to the University Wiki Service! Please use your IID (yourEID@eid.utexas.edu) when prompted for your email address during login or click here to enter your EID. If you are experiencing any issues loading content on pages, please try these steps to clear your browser cache.