gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 01:37:35 28 4
gpt4 key购买 nike

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

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

软件包的扩展名是:

87 .whl    ............................................................
23 .tar.gz ................
 2 .zip    .

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

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

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

谢谢!

最佳答案

这样做的方法是在兼容的 manylinux Docker image 中下载并提取源分发( .tar.gz )。 (这取决于您要定位的架构)然后使用 python setup.py bdist_wheel 构建轮子.

https://github.com/pypa/python-manylinux-demo 有一个演示项目它展示了如何使用 CI 自动执行此操作,您可能会对其进行调整,甚至将其贡献给未发布构建发行版(轮子)的项目。

关于python - 将/someone/else's/.tar.gz 包转换为 .whl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58964751/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com