当你建造一个 Python 轮子时会发生什么?

What happens when you build a Python wheel?

我试图理解为什么 Python 运行 setup.py 来为纯 Python 包构建轮子。仅仅将文件放在适当的位置还不够吗?除了创建存档之外,它还能做任何其他事情吗?当你构建一个纯粹的 Python 轮子时实际会发生什么?

我简单解释一下:

如果您的代码只是 Python,除了创建您指出的存档之外,构建轮子实际上并没有做太多工作。

当您的程序包中的一些功能是用 C 实现的(Python 允许作为第一个 class 功能)时,轮子会更有用。在这种情况下,安装您的软件包的任何人也需要编译您的 C 代码。如果有很多这样的 C 代码,安装包可能会占用很多时间。这就是轮子的用武之地 - 它提供了一种分发预编译版本的包的方式,以便其他人可以相对快速地安装和使用您的包。