51 lines
1.7 KiB
Markdown
51 lines
1.7 KiB
Markdown
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 |
|
|
|--------|--------|------------------|-------|----------------------|--------|
|
|
| 14.04 | | 3.6.7<br />3.6.8 | | | 3.9.5* |
|
|
| 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<br />3.8.0b1 | 3.9.5 |
|
|
| 19.04 | | | 3.7.3 | | |
|
|
| 20.04 | | | | | 3.9.5 |
|
|
|
|
\* 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
|