什么是轮子,为什么它们在安装包的背景下有用?

时间:2016-07-24 00:37:26

标签: python

我只是想了解python wheel如何适应Python开发的大局。这是一个非常普遍的问题,但我在网上搜索时遇到这些信息时遇到了麻烦。如果有人可以建议任何链接,那也会很好。

1 个答案:

答案 0 :(得分:0)

摘自"Serious Python"这本伟大的书

  

对于Python的大多数存在,还没有官方的标准发行格式。尽管不同的分发工具通常使用一些通用的存档格式(即使setuptools引入的Egg格式也只是具有不同扩展名的zip文件),但它们的元数据和包结构彼此不兼容。当最终在PEP 376中定义了与现有格式不兼容的正式安装标准时,这个问题变得更加复杂。

     

为解决这些问题,编写了PEP 427来为Python分发软件包定义一个称为Wheel的新标准。此格式的参考实现可通过工具(也称为Wheel)获得。

     

从1.4版开始,pip支持车轮。如果您正在使用setuptools并安装了Wheel软件包,它将自动集成为名为bdist_wheel的setuptools命令。如果尚未安装Wheel,则可以使用命令pip install wheel

安装

要创建滚轮,请运行以下命令:

$ python setup.py bdist_wheel
  

bdist_wheel命令在dist目录中创建一个.whl文件。与Egg格式一样,Wheel存档只是一个具有不同扩展名的zip文件。但是,Wheel归档文件不需要安装-您可以通过添加斜杠和模块名称来加载和运行代码:

$ python wheel-0.21.0-py2.py3-none-any.whl/wheel -h
  

Wheel的优点之一是它的命名约定使您可以指定您的发行版是否针对特定的体系结构和/或Python实现(CPython,PyPy,Jython等)。如果您需要分发用C编写的模块,这特别有用。

     

Wheel是一种用于分发即装即用的库和应用程序的好格式,因此建议您也将其构建并上传到PyPI。