python之wheel 包命名规则、abi 兼容和安装
一、windows安装python包,遇见的问题
1、python3以后的版本,安装python包,可以直接使用pip安装,但是安装时偶尔报错
2、安装python源码包,如何确定自己该安装哪个版本,一看就晕倒~~~(没人扶,/(ㄒoㄒ)/~~)
一、wheel 包的命名规定
wheel 包的命名格式为 {distribution}-{version}(-{build tag})?-{python tag}-{abi tag}-{platform tag}.whl
1、python tag
py 无实现特定的拓展
cp CPython,也就是通常使用的 CPython 实现,大多数
ip IronPython,跑在 Windows CLI 平台上的 Python 实现
pp PyPy,带 JIT 的 Python 实现
jy Jython,跑在 JVM 上的 Python 实现
2、platform tag就是自己的平台
3、api tag
如果 sysconfig 定义了 SOABI ,那么就用 SOABI 的值。
二、如何判断给定 wheel 包是否能够安装(看了之后就不省人事了~~~)
通常判断依赖的时候,需要看下是否符合最低版本。不过 pip 判断给定 wheel 包的 abi 兼容的做法与此有些许差异。pip 的做法是,计算出一个支持的 abi tag 集合,然后判断目标 abi tag 是否在这个集合里。这个计算过程跟在打包时是一样的。这意味着,打包拓展的 CPython 需要跟安装的机器上的 CPython 版本是一致的,否则就装不了。对于“永远的2.7”来说,这不是什么问题;不过如果用的是 Python 3,又不能控制具体的 CPython 版本,对于 C 拓展还是现场编译安装比较靠谱。
三、说了半天有没有简单方法
from pip import pep425tags
print(pep425tags.get_supported())

这里就查看到自己的python所支持的wheel包:('python Tag','abi Tag','platform tag')
四、具体使用
查看以后到相应的wheel包,下载安装即可
python之wheel 包命名规则、abi 兼容和安装的更多相关文章
- python wheel 包命名规则和 abi 兼容
wheel 包的命名规定 wheel 包的命名格式为 {distribution}-{version}(-{build tag})?-{python tag}-{abi tag}-{platform ...
- J2EE开发时的包命名规则
http://www.blogjava.net/paulwong/archive/2012/04/15/374675.html 转一个J2EE开发时的包命名规则,养成良好的开发习惯 代码编写规范目的: ...
- 3-1 rpm包命名规则
1.RPM包的来源 <1>RPM包在系统光盘中 ---------------------------------------------------------------------- ...
- Linux系列(29) - rpm包命名规则(1)
RPM包命名规则 例如包名:httpd-2.2.15-15.el6.centsos.1.i686.rpm 软件包名-httpd 软件版本-2.2.15 发布的次数-15 el6.centos适合的Li ...
- J2EE开发时的包命名规则,养成良好的开发习惯
代码编写规范目的:能够在编码过程中实现规范化,为以后的程序开发中养成良好的行为习惯.代码编写规范使用范围:J2EE项目开发.包命名规范:目的:包的命名规范应当体现出项目资源良好的划分 servlet类 ...
- python之变量的命名规则
变量的命名规则: 1.变量名由数字.字母和下划线组成名 2.变量名不能以数字开头 3.禁止使用python中的关键字 4.不能使用中文和拼音 5.变量名要区分大小写 6.变量名要有意义 7.推荐写法: ...
- 【原创】Python第二章——标识符命名规则
在Python中,一切都是对象,包括常量数据类型,如整数数据类型(1,2,3...),字符串数据类型("ABC").想要使用这些对象,就要使用它的对象引用.赋值操作符,实际上是使得 ...
- python的变量的命名规则以及定义
1.变量,指计算机中存储数据的空间 2.变量的命名方式:变量名 = 值 3.变量的命名规定(标识符的命名规定): 只能由数字,字母,下划线组成(可以用中文但是不推荐) 不能以数字开头 不能与关键词重名 ...
- RHEL7 -- RPM包命名规则
rpm软件包文件采用软件包名称组合name-version-release.architecture的方式进行命名 以下面的rpm包为例: kernel-devel--.el7.x86_64 ·na ...
随机推荐
- Angular2 中的依赖包详解
转自:http://blog.csdn.net/feiying008/article/details/53033704 目录 dependencies 和 devDependencies depend ...
- Java的 final 关键字
本文主要探讨Java final 关键字修饰变量时的用法. !!!!文末有彩蛋!!!! 1.修饰类 当用final修饰一个类时,表明这个类不能被继承.也就是说,如果一个类你永远不会让他被继承,就可以用 ...
- Unity 和 3DMAx
3DMax转换成DAE模式才会有纹理信息.
- python脚本8_打印对顶三角形
#打印对顶三角形 a = int(input('>>>')) for i in range(-a,a+1): if i < 0: i = -i print(" &qu ...
- 设计模式--代理模式C++实现
代理模式C++实现 1定义 为其他对象提供一种代理以控制对这个对象的访问 2类图 角色定义: Subject抽象主体角色,抽象类或者接口,是一个普通的业务类型定义 RealSubject具体主体角色, ...
- HDU1595-最短路-删边
find the longest of the shortest Time Limit: 1000/5000 MS (Java/Others) Memory Limit: 32768/32768 ...
- notepad配合正则表达式处理文本
<option value="irs01.com">irs01.com</option><option value="hdslb.com&q ...
- [转载]Java在线打开PDF文档
步骤一:(涉及到的工具) 访问:http://www.zhuozhengsoft.com/dowm/,从官网下载PageOffice for Java. 步骤二:(配置工程) 1. 解压PageOff ...
- SC用法
转自:(http://blog.163.com/yf_handsome/blog/static/20238174200802495124164/) SC使用这样的语法: 1. SC [Serverna ...
- mysql5.6与mysql5.5不同
1.编译阶段 要明白with与without的区别,选项值分1和0,或者对应为on或off,代表支持与不支持:with的1(on)与without的0(off)是同样的,with的0(off)与wit ...