为纯 Python 包构建发行版有什么意义?

Mar*_*oma 7 python python-wheel python-packaging

人们可以将 Python 作为源发行版.tar.gz格式)或构建发行版(轮子格式)来共享。

据我了解,构建发行版的要点是:

  • 节省时间:编译可能非常耗时。我们可以在服务器上执行一次并为许多用户共享。
  • 降低要求:用户不必安装编译器

然而,bdist 文件的这两个参数似乎不适用于纯 python 包。尽管如此,我发现natsort既有 sdist 又有 bdist。以 bdist 格式共享纯 python 包有什么好处吗?

Sra*_*raw 5

来自pythonwheels.com

轮子的优点

  1. 更快地安装纯 Python 和本机 C 扩展包。
  2. 避免安装时任意执行代码。(避免 setup.py)
  3. 在 Linux、Windows 或 macOS 上安装 C 扩展不需要编译器。
  4. 允许更好的缓存以进行测试和持续集成。
  5. 创建 .pyc 文件作为安装的一部分,以确保它们与所使用的 Python 解释器匹配。
  6. 跨平台和机器的安装更加一致。

所以对我来说,我认为第一点和第二点对于纯Python包来说是最有意义的。它更小、更快、也更安全。