mirror of
https://github.com/pyenv/pyenv.git
synced 2026-09-13 09:06:16 -04:00
`pyenv binary save <version> [<output-dir>]` packs an installed version into a relocatable .tar.gz with relative paths and writes a metadata file recording the build platform, distro, libc version and the external system libraries the build links against (via `ldd` on Linux, `otool -L` on macOS).
28 lines
990 B
Markdown
28 lines
990 B
Markdown
# pyenv-binary (experimental)
|
|
|
|
Package an installed Python version into a relocatable archive that can be
|
|
installed on another machine.
|
|
|
|
This is experimental and intentionally decoupled: it does not change
|
|
`pyenv install` or any other command. You drive it explicitly through
|
|
`pyenv binary`. Run `pyenv binary <command> --help` for details on a command.
|
|
|
|
## Portability
|
|
|
|
An archive is portable across machines that share its build platform (OS,
|
|
architecture and a compatible libc) and have the recorded system libraries. It
|
|
is not portable across, say, glibc and musl, or to an older glibc; the platform
|
|
and dependency metadata exist to catch that.
|
|
|
|
## Commands
|
|
|
|
### `pyenv binary save <version> [<output-dir>]`
|
|
|
|
Packs an installed version into `<version>-<platform>.tar.gz` (relative paths)
|
|
and writes `<version>-<platform>.meta` describing the build platform (OS, arch,
|
|
distro and libc version) and the system libraries the build links against.
|
|
|
|
```sh
|
|
pyenv binary save 3.12.7 ./dist
|
|
```
|