4 ms·
Is there a good way to build a portable package containing dependencies for installing on an airgapped system?
by starpilot 7y ago
Is there a good way to build a portable package containing dependencies for installing on an airgapped system?
- ctrlc-root 7y agoTake a look at Twitter PEX. I gave a short talk on it earlier this year (https://www.youtube.com/watch?v=abnwINA50DE https://www.youtube.com/watch?v=abnwINA50DE).
- ipsum2 7y agoAnother one: https://github.com/facebookincubator/xar https://github.com/facebookincubator/xar "XAR lets you package many files into a single self-contained executable file. This makes it easy to distribute and install... A popular example is Python application archives that include all Python source code files, as well as native shared libraries, configuration files, other data."
- viraptor 7y agoDo you depend on any native library? If not, you should be able to install everything in a virtualenv and move that whole directory.
- j88439h84 7y agoMake a wheel or use shiv. Either is very easy.
- starpilot 7y agoIs it possible to build a wheel for a unix platform on a windows machine, when the package and some of its dependencies have compiled portions? I'm trying to build a wheel with deps for exchangelib and have been struggling.
- yegle 7y agoHave a repo for your code, vendorize every thing, build a binary including Python interpreter using a build system that emphasize on reproducibility (e.g. Bazel). Alternatively you can build a docker image using Bazel (for reproducibility) and use tools like Droot to chroot into the image then run.
- smitty1e 7y agoFor certain values of 'good', containers seem to enjoy popularity.
- potatochup 7y agoShivs as mentioned elsewhere, pyoxidize is also worth a look
- acemarke 7y agoSurprised no one has mentioned cx_Freeze yet: https://cx-freeze.readthedocs.io/en/latest/ https://cx-freeze.readthedocs.io/en/latest/ It's worked pretty well for us on both Linux and Windows environments.