python - 为纯 Python 包构建发行版有什么意义?
问题描述
可以将 Python 作为源代码分发(.tar.gz
格式)或内置分发(wheels 格式)共享。
据我了解,构建发行版的重点是:
- 节省时间:编译可能非常耗时。我们可以在服务器上执行一次并为许多用户共享它。
- 降低要求:用户不必安装编译器
但是,bdist 文件的这两个参数似乎不适用于纯 python 包。尽管如此,我还是看到natsort出现在 sdist 和 bdist 中。以 bdist 格式共享纯 python 包有什么好处吗?
解决方案
轮子的优点
- 更快地安装纯 Python 和本机 C 扩展包。
- 避免安装时执行任意代码。(避免 setup.py)
- 在 Linux、Windows 或 macOS 上安装 C 扩展不需要编译器。
- 为测试和持续集成提供更好的缓存。
- 创建 .pyc 文件作为安装的一部分,以确保它们与使用的 Python 解释器匹配。
- 跨平台和机器的更一致的安装。
所以对我来说,我认为第一点和第二点对于纯 Python 包来说是最有意义的。它更小、更快、更安全。
推荐阅读
- javascript - 条件渲染满足流程的最简洁方式
- html - 整个 HTML 文档的大小在移动设备上调整为小于宽度的一半
- python - 使用 Python sys.stdout 修改 NiFi 中的流文件属性?
- excel - 我正在尝试找出一种方法来创建和 IF 函数来确定应用于 VBA 中的表的过滤器是否返回空表
- bash - 防止在 bash 中硬编码 if 条件
- stripe-payments - 在 Java 中为没有默认 PaymentMethod 的客户设置 Stripe 订阅
- mysql - Mysql Query返回匹配的记录加上额外的记录,它们共享匹配查询记录的字段“CID”的相同值
- heroku - 我如何将heroku dns目标设置为whogohost
- caching - Gatsby 图像无法在 iPad 上按需要缓存
- python - 如何在ubuntu中从图像python中获取文本