pex [-o OUTPUT.PEX] [options] [-- arg1
arg2 ...]
pex builds a PEX (Python Executable) file based on the given
specifications: sources, requirements, their dependencies and other
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]