Python environments¶
These are the Python environments we use inside our Docker containers.
System Python 3.10¶
Python 3.10 (‘slim-bullseye’) is installed from the Debian repositories into /usr
.
Dependencies are installed with pip3
. See the Docker base image for details.
Local Python 3.10¶
All of our Docker containers are based on the official python:3.10
Docker Hub repo, and have the latest stable
version of Python 3.10 installed in to /usr/local
.
The uwsgi
and awslogs
commands are installed using pip3
and run using Python 3.
Python 3.10 virtual environment¶
When a Docker container is created, a virtual environment is created at /app/venv
using the locally installed
Python 3.10. Apps and their requirements are then installed to this virtual environment. uwsgi
is configured to
run the apps inside the virtual enviroment.
Future Python compatibility¶
Until recently we were using Python 3.6 but as we have upgraded to 3.10 we only run CI for that Python version as of October 2021. This Python version reaches its end of life on 5 October 2025 which is well beyond the expected retirement of this project.