将 /someone/else's/.tar.gz 包转换为 .whl?

dst*_*erg 5 python linux pip pypi python-wheel

我面临着一个非常慢的 Docker 构建过程,部分原因是我们一遍又一遍地构建和安装所有 Python 包。我非常想加快速度。

\n\n

我已经从 PyPI 下载了这些软件包,这样我就可以仔细查看它们。我还将它们放在本地 pypiserver 中(实际上是两个),并确认我可以从那里安装它们。

\n\n

这些软件包的扩展名是:

\n\n
87 .whl \xc2\xa0 \xc2\xa0............................................................\n23 .tar.gz ................\n\xc2\xa02 .zip \xc2\xa0 \xc2\xa0.\n
Run Code Online (Sandbox Code Playgroud)\n\n

我在想,如果我将其中一些 .tar.gz(以及 .zip? 和源代码 .whl?) 转换为 Manylinux 轮子,并将它们放入其中,安装速度会快得多具有相同版本号的本地 pypiserver 实例。\xc2\xa0 事实上,一个包往往无法随机编译 - 因此如果成功的话,构建过程也应该更可靠一点。

\n\n

是否有一个(相对?)简单的过程来做这样的事情? \xc2\xa0 也就是说,从 pypi 获取 .tar.gz (不是任意的 .tar.gz - 只有少数来自 pypi)并将其转换为二进制的 Manylinux .whl?

\n\n

例如,我们的 docker 构建中最耗时的包可能是https://pypi.org/project/pycapnp/ 在我的 Linux Mint 19.1 笔记本电脑上构建和安装大约需要 80 秒。这是一个 .tar.gz。

\n\n

谢谢!

\n

sin*_*roc 3

我相信这应该非常简单pip wheel