python中wheel的用法整理


Posted in Python onJune 15, 2020

Python的第一个主流打包格式是.egg文件,现在大家庭中又有了一个叫做Wheel(*.whl)的新成员。wheel“被设计成包含PEP 376兼容安装(一种非常接近于磁盘上的格式)的所有文件”。在本文中,我们将学习如何创建一个wheel以及如何在virtualenv中安装wheel。

起步

你需要pip来创建wheel,要学习安装pip,我强烈推荐阅读pip的安装页面

。如果你已经安装了pip,那么你需要把它升级到最新版本。你只需要做这些:在一个控制台窗口中,输入以下命令:

pip install --upgrade pip

完成以上工作后,我们就准备学习创建wheel了!

创建wheel

首先,你需要安装wheel包:

pip install wheel

下一步,我们将使用unidecode包来创建我们的第一个wheel,因为当我在写本文的时候,我们的wheel包还没有创建出来,接下来我会在多个项目中使用这个包。

pip wheel --wheel-dir=my_wheels Unidecode

现在,你在my_wheels文件夹中有了名字为Unidecode-0.04.14-py26-none-any.whl的wheel,让我们来学习安装新创建的wheel!

安装Python

wheel

让我们创建一个virtualenv

来进行测试,你可以在这里读取更多关于virtualenv的信息。一旦你安装了virtualenv,使用下面的命令来测试:

virtualenv test

这将为我们创建一个包含pip的可试验虚拟沙箱,在继续下一步之前,确信运行了s文件夹中的activate来使能virtualenv。现在virtualenv没有包括wheel,所以你需要再次安装wheel:

pip install wheel

一旦wheel安装,我们就使用如下命令来安装我们之前创建的wheel:

pip install --use-wheel --no-index --find-links=path/to/my_wheels Unidecode

为了测试运行是否正常,从你virtualenv的s文件夹中运行Python并且尝试导入unidecode。如果它正常导入,那么你成功的安装了你之前创建的wheel!

注解:我开始的时候安装了一个麻烦多多的旧版本virtualenv。确信你升级到了最新版本,或者你花费大量时间去折腾让它正常工作。

*.whl文件有一点与*.egg文件相似:实际上它们都是“伪装的”*.zip文件。如果你将*.whl文件名扩展改为*.zip,你就可以使用你的zip应用程序打开它,并且可以查看它包含的文件和文件夹。

总结

现在你已经准备好创建你自己的wheel了,那就像为你自己的快速安装项目创建本地仓库的一个很好地方法。你可以创建多个不同的wheel仓 库,这便与在不同测试版本之间切换。当与virtualenv结合后,你就会有一个很便捷的方法,通过该方法,你看到新版本的依赖如何在不需要多次下载它 们的情况下作用于你的项目。

知识点扩展:

Python wheel包文件名格式

0.12.4 - package 版本

cp36 - python实现和版本, cp:CPython. ip:IronPython, jy:Jython, orpp: PyPy,  版本:3.6.

cp36m - abi tag

win_amd64 - 系统平台 tag

到此这篇关于python中wheel的用法整理的文章就介绍到这了,更多相关python wheel是什么内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
Jan 22 Python
详解Python中的多线程编程
Apr 09 Python
在Python中使用mongoengine操作MongoDB教程
Apr 24 Python
在Python中使用HTML模版的教程
Apr 29 Python
PYTHON压平嵌套列表的简单实现
Jun 08 Python
Python中的默认参数实例分析
Jan 29 Python
浅谈Python中的zip()与*zip()函数详解
Feb 24 Python
Python简单实现的代理服务器端口映射功能示例
Apr 08 Python
python修改list中所有元素类型的三种方法
Apr 09 Python
基于python requests库中的代理实例讲解
May 07 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
Dec 19 Python
使用Keras 实现查看model weights .h5 文件的内容
Jun 09 Python
keras绘制acc和loss曲线图实例
Jun 15 #Python
Python定义一个函数的方法
Jun 15 #Python
python是怎么被发明的
Jun 15 #Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
Jun 15 #Python
Python如何在windows环境安装pip及rarfile
Jun 15 #Python
keras训练曲线,混淆矩阵,CNN层输出可视化实例
Jun 15 #Python
Python3 requests模块如何模仿浏览器及代理
Jun 15 #Python
You might like
php目录管理函数小结
2008/09/10 PHP
PHP 小心urldecode引发的SQL注入漏洞
2011/10/27 PHP
php递归json类实例
2014/12/02 PHP
详解Window7 下开发php扩展
2015/12/31 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
document.compatMode介绍
2009/05/21 Javascript
动态表格Table类的实现
2009/08/26 Javascript
Extjs列表详细信息窗口新建后自动加载解决方法
2010/04/02 Javascript
jquery ajax提交表单数据的两种实现方法
2010/04/29 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
2013/11/05 Javascript
JavaScript避免内存泄露及内存管理技巧
2014/09/05 Javascript
node.js中的fs.renameSync方法使用说明
2014/12/16 Javascript
javascript操作符"!~"详解
2015/02/10 Javascript
js实现宇宙星空背景效果的方法
2015/03/03 Javascript
jQuery获取字符串中出现最多的数
2016/02/22 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
JS封装通过className获取元素的函数示例
2016/12/20 Javascript
Mui使用jquery并且使用点击跳转新窗口的实例
2017/08/19 jQuery
解决Linux无法正常安装与卸载Node.js的方法
2018/01/19 Javascript
Vue中使用Sortable的示例代码
2018/04/07 Javascript
利用Python演示数型数据结构的教程
2015/04/03 Python
利用QT写一个极简单的图形化Python闹钟程序
2015/04/07 Python
python测试mysql写入性能完整实例
2018/01/18 Python
Python CSS选择器爬取京东网商品信息过程解析
2020/06/01 Python
CentOS 7如何实现定时执行python脚本
2020/06/24 Python
Jmeter调用Python脚本实现参数互相传递的实现
2021/01/22 Python
Lululemon英国官网:加拿大瑜伽服装品牌
2019/01/14 全球购物
2014年公务员思想汇报范文:全心全意为人民服务
2014/03/06 职场文书
立志成才演讲稿
2014/09/04 职场文书
辞职信模板(中英文版)
2015/02/27 职场文书
手术室消毒隔离制度
2015/08/05 职场文书
忠诚教育学习心得体会
2016/01/23 职场文书
《我的伯父鲁迅先生》教学反思
2016/02/16 职场文书
background-position百分比原理详解
2021/05/08 HTML / CSS
Java 语言中Object 类和System 类详解
2021/07/07 Java/Android