pex(1)

pex

Section 1 pex bookworm source

Description

PEX

NAME

pex - pex

SYNOPSIS

pex [-o OUTPUT.PEX] [options] [-- arg1 arg2 ...]

DESCRIPTION

pex builds a PEX (Python Executable) file based on the given specifications: sources, requirements, their dependencies and other options.

OPTIONS

--version

show program’s version number and exit

-h, --help

show this help message and exit

-o PEX_NAME, --output-file=PEX_NAME

The name of the generated .pex file: Omiting this will run PEX immediately and not save it to a file.

-p FILE, --preamble-file=FILE

The name of a file to be included as the preamble for the generated .pex file

-D DIR, --sources-directory=DIR

Add sources directory to be packaged into the generated .pex file. This option can be used multiple times.

-R DIR, --resources-directory=DIR

Add resources directory to be packaged into the generated .pex file. This option can be used multiple times.

-r FILE, --requirement=FILE

Add requirements from the given requirements file. This option can be used multiple times.

--constraints=FILE

Add constraints from the given constraints file. This option can be used multiple times.

-v

Turn on logging verbosity, may be specified multiple times.

--pex-root=PEX_ROOT

Specify the pex root used in this invocation of pex. [Default: ˜/.pex]

--help-variables

Print out help about the various environment variables used to change the behavior of a running PEX file.

Resolver options:

Tailor how to find, resolve and translate the packages that get put into the PEX environment.

--pypi, --no-pypi, --no-index

Whether to use pypi to resolve dependencies; Default: use pypi

--pex-path=PEX_PATH

A colon separated list of other pex files to merge into the runtime environment.

-f PATH/URL, --find-links=PATH/URL, --repo=PATH/URL

Additional repository path (directory or URL) to look for requirements.

-i URL, --index=URL, --index-url=URL

Additional cheeseshop indices to use to satisfy requirements.

--pre, --no-pre

Whether to include pre-release and development versions of requirements; Default: only stable versions are used, unless explicitly requested

--disable-cache

Disable caching in the pex tool entirely.

--cache-dir=CACHE_DIR

The local cache directory to use for speeding up requirement lookups. [Default: ˜/.pex/build]

--cache-ttl=CACHE_TTL

The cache TTL to use for inexact requirement specifications.

--wheel, --no-wheel, --no-use-wheel

Whether to allow wheel distributions; Default: allow wheels

--build, --no-build

Whether to allow building of distributions from source; Default: allow builds

--manylinux, --no-manylinux, --no-use-manylinux

Whether to allow resolution of manylinux dists for linux target platforms; Default: allow manylinux

PEX output options:

Tailor the behavior of the emitted .pex file if -o is specified.

--zip-safe, --not-zip-safe

Whether or not the sources in the pex file are zip safe. If they are not zip safe, they will be written to disk prior to execution; Default: zip safe.

--always-write-cache

Always write the internally cached distributions to disk prior to invoking the pex source code. This can use less memory in RAM constrained environments. [Default: False]

--ignore-errors

Ignore run-time requirement resolution errors when invoking the pex. [Default: False]

--inherit-path=INHERIT_PATH

Inherit the contents of sys.path (including sitepackages) running the pex. Possible values: false (does not inherit sys.path), fallback (inherits sys.path after packaged dependencies), prefer (inherits sys.path before packaged dependencies), No value (alias for prefer, for backwards compatibility). [Default: false]

PEX environment options:

Tailor the interpreter and platform targets for the PEX environment.

--python=PYTHON

The Python interpreter to use to build the pex. Either specify an explicit path to an interpreter, or specify a binary accessible on $PATH. This option can be passed multiple times to create a multi-interpreter compatible pex. Default: Use current interpreter.

--interpreter-constraint=INTERPRETER_CONSTRAINT

A constraint that determines the interpreter compatibility for this pex, using the Requirementstyle format, e.g. "CPython>=3", or ">=2.7" for requirements agnostic to interpreter class. This option can be passed multiple times.

--rcfile=RC_FILE

An additional path to a pexrc file to read during configuration parsing. Used primarily for testing.

--python-shebang=PYTHON_SHEBANG

The exact shebang (#!...) line to add at the top of the PEX file minus the #!. This overrides the default behavior, which picks an environment python interpreter compatible with the one used to build the PEX file.

--platform=PLATFORMS

The platform for which to build the PEX. This option can be passed multiple times to create a multiplatform pex. To use wheels for specific interpreter/platform tags, you can append them to the platform with hyphens like: PLATFORM-IMPL-PYVER-ABI (e.g. "linux_x86_64-cp-27-cp27mu", "macosx_10.12_x86_64-cp-36-cp36m") PLATFORM is the host platform e.g. "linux-x86_64", "macosx-10.12-x86_64", etc". IMPL is the python implementation abbreviation (e.g. "cp", "pp", "jp"). PYVER is a two-digit string representing the python version (e.g. "27", "36"). ABI is the ABI tag (e.g. "cp36m", "cp27mu", "abi3", "none"). Default: current platform.

--interpreter-cache-dir=INTERPRETER_CACHE_DIR

The interpreter cache to use for keeping track of interpreter dependencies for the pex tool. Default: ‘˜/.pex/interpreters‘.

PEX entry point options:

Specify what target/module the PEX should invoke if any.

-m MODULE[:SYMBOL], -e MODULE[:SYMBOL], --entry-point=MODULE[:SYMBOL]

Set the entry point to module or module:symbol. If just specifying module, pex behaves like python -m, e.g. python -m SimpleHTTPServer. If specifying module:symbol, pex imports that symbol and invokes it as if it were main.

-c SCRIPT_NAME, --script=SCRIPT_NAME, --console-script=SCRIPT_NAME

Set the entry point as to the script or console_script as defined by a any of the distributions in the pex. For example: "pex -c fab fabric" or "pex -c mturk boto".

--validate-entry-point

Validate the entry point by importing it in separate process. Warning: this could have side effects. For example, entry point ‘a.b.c:m‘ will translate to ‘from a.b.c import m‘ during validation. [Default: False]