Python PEX 文件 ( https://pex.readthedocs.io/en/latest/ ) 允许将应用程序及其所有依赖项捆绑到一个可执行文件中。
也可以将依赖项捆绑到 python 解释器中。
但是,我希望有一个“库”,我可以从中导入库,但它本身并不是一个胖解释器。可以只解压缩 PEX 文件,从中取出轮子,然后 pip 安装它们,但这依赖于 PEX 文件的内部结构永远不会改变,并且所有依赖项始终是轮子。我想到的主要用例是在 spark 工作人员上安装依赖项;所以如果你认为部署一个胖 python 解释器是个好主意,也请告诉我。
是否可以从现有的 PEX 文件惯用导入?我不想有一个完全不同的过程来打包可执行文件和打包没有可执行文件的依赖项。
或者是否有一些可以用 Pants/Gradle 轻松创建的干净替代 PEX?我可以编写压缩 virtualenv/conda env 的脚本,但它不是开箱即用的,而且该解决方案也存在一些问题。