Self-contained highly-portable Python distributions

jcbhmr3 pts0 comments

Python Standalone Builds — python-build-standalone documentation

Python Standalone Builds¶

This project produces self-contained, highly-portable Python<br>distributions. These Python distributions contain a fully-usable,<br>full-featured Python installation: most extension modules from<br>the Python standard library are present and their library<br>dependencies are either distributed with the distribution or<br>are statically linked.

The Python distributions are built in a manner to minimize<br>run-time dependencies. This includes limiting the CPU instructions<br>that can be used and limiting the set of shared libraries required<br>at run-time. The goal is for the produced distribution to work on<br>any system for the targeted architecture.

Some distributions ship with their build artifacts (object files,<br>libraries, etc) along with rich metadata describing the distribution<br>and how it was assembled. The build artifacts can be recombined by<br>downstream repackagers to derive a custom Python distribution, possibly<br>without certain features like SQLite and OpenSSL. This is useful for<br>embedding Python in a larger binary. See the<br>PyOxidizer sister project<br>for such a downstream repackager.

Many users of these distributions might be better served by the<br>PyOxy<br>sister project. PyOxy takes these Python distributions and adds some<br>Rust code for enhancing the functionality of the Python interpreter.<br>The official PyOxy release binaries are single file executables providing<br>a full-featured Python interpreter.

Contents:

Running Distributions<br>Obtaining Distributions

Extracting Distributions

Runtime Requirements

Extra Python Software

Licensing

Reconsuming Build Artifacts

Building<br>Linux

macOS

Windows

Behavior Quirks<br>If special keys do not work in the Python REPL

No tix on UNIX

No pip.exe on Windows

Linking Static Library on macOS

Use of libedit on Linux

References to Build-Time Paths

Former quirks

Technical Notes<br>How It Works

Setup.local Hackery

Dependency Notes

Upgrading CPython

Distribution Archives<br>Full Archive

Install Only Archive

Project Status<br>Target Notes

Test Failures

Test Skips

Indices and tables¶

Index

Search Page

python-build-standalone

Navigation

Contents:

Running Distributions

Building

Behavior Quirks

Technical Notes

Distribution Archives

Project Status

Related Topics

Documentation overview<br>Next: Running Distributions

Quick search

&copy;2020, Gregory Szorc.

Powered by Sphinx 5.0.2<br>& Alabaster 0.7.12

Page source

python distributions build distribution project standalone

Related Articles