python builds
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
dave 7084d7124a Update version matrix to show 3.10.0 builds 4 months ago
scripts add python 3.9.5 1 year ago
src update openssl 11 months ago
ssl/trusty update openssl 11 months ago
.dockerignore add python 3.9.5 1 year ago
.gitignore ssl builder for trusty 1 year ago
Dockerfile.bionic use intermediate dockerfile 1 year ago
Dockerfile.disco use intermediate dockerfile 1 year ago
Dockerfile.focal use intermediate dockerfile 1 year ago
Dockerfile.trusty use intermediate dockerfile 1 year ago
Dockerfile.xenial use intermediate dockerfile 1 year ago
README.md Update version matrix to show 3.10.0 builds 4 months ago
build.sh use intermediate dockerfile 1 year ago
images.sh use intermediate dockerfile 1 year ago

README.md

extpython

Isolated python .deb builder

Extpython is a collection of tools for building installable packages containing various versions of Python. The installations are isolated from the operating system's python such that modules may be added, removed, or upgraded without risk of breaking. The builds are executed in Docker.

Example invocation:

./images.sh                      # pulls / creates base images with dependencies
./build.sh trusty-3.9.5.sh       # build using the recipe in the named script file

The vars file - trusty-3.9.5.sh above - contains information about what python version will be built. See src/bionic-3.9.5.sh for an annotated example.

Version support matrix

Ubuntu P 2.7 Python 3.6 P 3.7 Python 3.8 P 3.9 P 3.10
14.04 3.6.7
3.6.8
3.9.5* 3.10.0*
16.04 3.6.7 3.7.3 3.9.5
18.04 2.7.16 3.6.7 3.7.3 3.8.0a4
3.8.0b1
3.9.5
19.04 3.7.3
20.04 3.9.5 3.10.0

* with extra extpython-openssl-1-1 package - see below

Openssl

Python 3.8 and 3.9 require a version of openssl that is newer than what ships on Ubuntu 14.04. This will likely happen with other os/version combinations in the future, but this is the only known case now.

To satisfy this requirement for Python 3.9, extpython also builds an Openssl package that installs in a similar isolated manner.

See ./ssl/ for details.

TODO

  • Parameter for pre-loaded pip modules