Quickly create PEX files out of your Pipenv projects using this one simple command!
PEX files are an expansion upon zipapps. You can bundle your application's modules along with their dependencies into one file, executable using a Python interpreter.
Using the lovely pipx:
pipx install pipenv-pex
cd project-with-pipfile
pipenv-pex --entry-point "epic_project:main"
python ./project-with-pipfile.pex
--entry-point
argument should have the form “pkg.mod:fn”, where “pkg.mod” is a package/module in the archive, and “fn” is a callable in the given module. (taken fromhere)- All parameters except
--exclude
are passed directly to PEX,--entry-point
being one of them.
Since pipenx-pex
piggybacks on the informaton in your Pipfile
, some automations become possible:
- Dependencies are fetched from your Pipfile, so you don't have to update your Makefile each time you change a dependency in your Pipfile
- (unrelated to pipenv actually) Irrelevant noise files are ignored when bundling the modules (such as .mypy_cache, __pycache__ etc.), saving a few precious MBs :) additional files and directories can be added to this list via the
--exclude
parameter.