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 相关文章推荐
剖析Python的Tornado框架中session支持的实现代码
Aug 21 Python
以一个投票程序的实例来讲解Python的Django框架使用
Feb 18 Python
python抓取并保存html页面时乱码问题的解决方法
Jul 01 Python
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
Apr 18 Python
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
Sep 06 Python
Django密码系统实现过程详解
Jul 19 Python
使用Python实现 学生学籍管理系统
Nov 26 Python
MNIST数据集转化为二维图片的实现示例
Jan 10 Python
Python识别html主要文本框过程解析
Feb 18 Python
如何基于windows实现python定时爬虫
May 01 Python
解决Windows下python和pip命令无法使用的问题
Aug 31 Python
对象析构函数__del__在Python中何时使用
Mar 22 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生成图片验证码
2015/06/09 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
Yii控制器中filter过滤器用法分析
2016/07/15 PHP
Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法
2019/09/30 PHP
jquery 倒计时效果实现秒杀思路
2013/09/11 Javascript
jquery操作cookie插件分享
2014/01/14 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
通过实例理解javascript中没有函数重载的概念
2015/06/03 Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
2015/08/04 Javascript
jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析
2016/06/08 Javascript
微信小程序 教程之引用
2016/10/18 Javascript
详解Javascript几种跨域方式总结
2017/02/27 Javascript
浅谈Vue.js
2017/03/02 Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
2017/03/30 Javascript
React学习之事件绑定的几种方法对比
2017/09/24 Javascript
jQuery实现手机号正则验证输入及自动填充空格功能
2018/01/02 jQuery
js捆绑TypeScript声明文件的方法教程
2018/04/13 Javascript
Vue 框架之键盘事件、健值修饰符、双向数据绑定
2018/11/14 Javascript
微信小程序实现列表左右滑动
2020/11/19 Javascript
[02:43]2014DOTA2国际邀请赛 官方Alliance战队纪录片
2014/07/14 DOTA
Python字符串转换成浮点数函数分享
2015/07/24 Python
python 使用get_argument获取url query参数
2017/04/28 Python
python+mysql实现个人论文管理系统
2019/10/25 Python
Python 音频生成器的实现示例
2019/12/24 Python
Python程序控制语句用法实例分析
2020/01/14 Python
深入剖析HTML5 内联框架iFrame
2016/05/04 HTML / CSS
北京振戎融通Java面试题
2015/09/03 面试题
架构师岗位职责
2013/11/18 职场文书
留守儿童工作方案
2014/06/02 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话全文
2014/10/25 职场文书
党员自我评价范文2015
2015/03/03 职场文书
红高粱观后感
2015/06/10 职场文书
SQLServer2019 数据库的基本使用之图形化界面操作的实现
2021/04/08 SQL Server
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
2021/07/07 SQL Server
Python多个MP4合成视频的实现方法
2021/07/16 Python
使用python绘制横竖条形图
2022/04/21 Python