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 ...
随机推荐
- linux下查看进程路径
在linux下查看进程大家都会想到用 ps -ef|grep XXX可是看到的不是全路径,怎么看全路径呢?每个进程启动之后在 /proc下面有一个于pid对应的路径例如:ps -ef|grep pyt ...
- UVALive-5135 Mining Your Own Business (无向图的双连通分量)
题目分析:在一张无向图中,将一些点涂上黑色,使得删掉图中任何一个点时,每个连通分量至少有一个黑点.问最少能涂几个黑点,并且在涂最少的情况下有几种方案. 题目分析:显然,一定不能涂割点.对于每一个连通分 ...
- springboo 添加logback日志
springboot默认引入logback相关的jar包 1.在 Application.properties里添加 logging.config=classpath:logback-spring.x ...
- iOS JavaScriptCore使用
iOS JavaScriptCore使用 JavaScriptCore是iOS7引入的新功能,JavaScriptCore可以理解为一个浏览器的运行内核,使用JavaScriptCore可以使用nat ...
- 【Error】InterfaceError (0, '')
也不知道什么时候接触到的这个错误,暂且记录下. 错误描述:InterfaceError (0, '') Traceback: File "/usr/local/lib/python2.7/s ...
- jq中的$.post中方法
jQuery.post( url, [data], [callback], [type] ) : 使用POST方式来进行异步请求 参数: url (String) : 发送请求的URL地址. data ...
- ASP.NET MVC添加Action就找不到
这个诡异的bug困扰我好多回了,今天又碰到了,就把它记录下来吧. 不要随便改变web项目的编译路径 Output让它保持原样就好了...
- 【fzu-2261】浪里个浪
TonyY是一个喜欢到处浪的男人,他的梦想是带着兰兰姐姐浪遍天朝的各个角落,不过在此之前,他需要做好规划. 现在他的手上有一份天朝地图,上面有n个城市,m条交通路径,每条交通路径都是单行道.他已经预先 ...
- querySelectorAll 与jquery.find 与htmlcollection 的区别
querySelector 和 querySelectorAll 规范定义 querySelector 和 querySelectorAll 方法是 W3C Selectors API Level 1 ...
- (转)Mac os x 下配置Intellij IDEA + Tomcat 出现权限问题的解决办法
出现的错误提示如下: 下午9:11:27 All files are up-to-date下午9:11:27 All files are up-to-date下午9:11:27 Error runni ...