Christoph Gohlke为Python扩展包提供非官方Windows二进制文件的命名约定

时间:2016-01-26 02:00:56

标签: python naming-conventions python-wheel

用于Python车轮的命名约定是什么 Christoph Gohlke's Unofficial Windows Binaries for Python Extension Packages

例如,对于scipy,页面上有两个轮子名称:

SciPy的-0.17.0或更新-cp27-NONE-win32.whl

SciPy的-0.17.0或更新-cp27-NONE-win_amd64.whl

'没有'指示?

win32和win_amd64之间的区别是什么?

我是否使用x86或x86-64版本的Python(参考Python 2.7.11)是否重要?

2 个答案:

答案 0 :(得分:5)

实际上这是wheel工具“命名约定”。真诚地,我不确定“无”表示什么,但是,您的Python版本很重要。如果您使用的是32位解释器,请继续使用win32选项(当然,在Windows下)。否则,请下载64位分发的win_amd64版本。

希望它有所帮助!

答案 1 :(得分:3)

tl; dr:这是轮子命名约定,而none意味着它是纯粹的python。

我采取了额外的步骤来回答/评论。

在这种情况下,none可能是ABI标记。来自PEP 425

  

ABI标记表示任何包含的Python ABI   扩展模块。对于特定于实现的ABI,   实现的缩写与Python标签的缩写方式相同,例如:   cp33d将是带调试的CPython 3.3 ABI。

所以none在这种情况下意味着包被公布为“pure-python”(它的本地依赖关系都不需要特定的应用程序二进制接口)。

这假设提供的轮盘文件是使用the official wheel file name convention的名称:

  

轮子文件名是{distribution} - {version}( - {build tag})? - {python tag} - {abi tag} - {platform tag} .whl。

     

<强>分布

     

分发名称,例如'django','金字塔'。

     

版本

     

分发版本,例如1.0。

     

构建代码

     

可选的内部版本号。必须以数字开头。如果两个车轮具有相同的版本,则为平局断路器。如果未指定,则排序为空字符串,否则将初始数字排序为数字,其余按字典顺序排序。

     

语言实施和版本标记

     

E.g。 'py27','py2','py3'。

     

abi标记

     

E.g。   'cp33m','abi3','无'。

     

平台标记

     

E.g。 'linux_x86_64','任何'。