"Python wheel"的名称中的"cp3xm"和"cp2xm"是什么意思? [英] What is the meaning of 'cp3xm' and 'cp2xm' in the name of Python wheels?
问题描述
据我所知,python wheel的命名规则是
To my knowledge, the naming rules of python wheel is
package_version-related_python_version-none-32bits_or_64bits.whl
例如,
numpy‑1.11.2+mkl‑cp35‑none‑win_amd64.whl
是在Windows 64位平台上运行的Python3.5的1.11.2版本的numpy. 参考
is numpy of version 1.11.2 for Python3.5 running in windows 64 bits platform. Reference
当前,我注意到 Python的非官方Windows二进制文件中的Python软件包命名扩展程序包使用'cpxxm'代替'none'.例如,
Currently i have noticed the naming of Python packages in Unofficial Windows Binaries for Python Extension Packages use 'cpxxm' to replace 'none'. For example,
numpy‑1.11.2+mkl‑cp35‑cp35m‑win_amd64.whl
在安装这些软件包时,pip将返回版本不匹配错误.当我将"cp35m"更改为无"时,它变为正常.
When installing these packages, pip will return version unmatch error. When i change 'cp35m' to 'none', it becomes normal.
那么,"cp2xm","cp3xm"是什么意思,为什么所有的软件包突然都用"cpxxm"替换了"none"?
So, what is the meaning of 'cp2xm' 'cp3xm' and why suddenly all the package replace 'none' with 'cpxxm'?
推荐答案
来自 PEP 3149 m
表示pymalloc
被用作内存分配器
From PEP 3149 the m
indicates pymalloc
is in use as the memory allocator
车轮名称的第二个组成部分是"abi"组成部分.在旧版车轮<26
生产的车轮中,这始终是none
,因为尚未实施abi检测.
The second component of the wheel name is the "abi" component. This was always none
in wheels produced by older versions of wheel <26
as abi detection wasn't yet implemented.
在较新版本的wheel中,将填充abi.您需要一个足够新的pip版本才能安装这些轮子.
In newer versions of wheel, the abi is populated. You need a sufficiently new version of pip in order to install these wheels.
这篇关于"Python wheel"的名称中的"cp3xm"和"cp2xm"是什么意思?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!