【发布时间】:2016-06-22 20:06:03
【问题描述】:
我正在寻找相当于 python 世界中的 uber-jar。
- 我需要将 python 包分发到所有三个主要平台(Windows、Mac、Linux)。
- 它必须与其所有依赖项捆绑在一起,因为目标平台可能缺乏互联网。
-
它必须是一个跨平台的发行版,所以我不必为多个目标构建。也就是说,我应该能够像这样在所有平台上运行它:
python package.ext
你可以假设这个包是纯 python(没有本地代码)。 有什么东西可以满足这些要求吗?
我知道以下选项,每个选项都有缺陷:
-
.whl软件包需要pip才能安装。 - 我不知道如何创建一个包含所有包依赖项的
.egg。 - 这个 PEP:http://legacy.python.org/dev/peps/pep-0441 表明 python 支持运行
.zip文件,但是 AFAICT,创建此类 zip 的最佳工具是 pex (https://github.com/pantsbuild/pex),我认为它不支持 Windows
【问题讨论】:
-
我认为简短的回答是“否”。稍长一点的非答案是“为你找到这个对 SO 来说是题外话”。
-
pex 显然不支持 windows,自 2016 年以来这方面似乎没有发生任何事情。github.com/pantsbuild/pex/issues/230
标签: python windows packaging python-wheel uberjar