zom*_*pro 30 python packaging tar python-wheel
轮子在鸡蛋上的优势很明显(参见为什么不用鸡蛋?https://pypi.python.org/pypi/wheel).
然而,我并不完全清楚使用车轮的优点是什么tar.gz.我可能会遗漏一些明显的东西,比如"它们是一样的".我认为它们都可以直接使用pip(即使在Windows中),具有相似的尺寸,并且在打包时需要类似的工作.听起来像是在证明包装方法论时可能遇到的问题.
编辑:刚刚找到一个tar.gz可能比轮子更好的例子.CherryPy(https://pypi.python.org/pypi/CherryPy)仅为Python 3.x提供轮子,所以如果你想拥有一个本地存储库来为Python 2.7和3.x依赖项提供CherryPy,它似乎是存储tarball更有意义.它是否正确?(只是为讨论添加一些"基于案例"的理由)
brk*_*rk3 15
这对我来说(直接来自车轮PEP):
Python需要一种比sdist更容易安装的包格式.Python的sdist包由distutils和setuptools构建系统定义,需要运行任意代码来构建和安装,并重新编译代码,以便将其安装到新的virtualenv中.这种混合构建 - 安装的系统很慢,难以维护,并且阻碍了构建系统和安装程序的创新.
Wheel试图通过在构建系统和安装程序之间提供更简单的接口来解决这些问题.wheel二进制包格式使安装程序不必了解构建系统,通过在许多安装中分摊编译时间来节省时间,并且无需在目标环境中安装构建系统.
https://www.python.org/dev/peps/pep-0427/#rationale
注意我们所说的tarball是上面所谓的"sdists".
轮子的优点
• 更快地安装纯python 和本机C 扩展包。
• 避免为安装执行任意代码。(避免 setup.py)
• 在 Windows 或 OS X 上安装 C 扩展不需要编译器。
• 为测试和持续集成提供更好的缓存。
• 创建.pyc 文件作为安装的一部分,以确保它们与所使用的python 解释器相匹配。
• 跨平台和机器的更一致的安装。
确保安装了轮子。
python3 -m pip install wheel
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10906 次 |
| 最近记录: |