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查找目录下指定扩展名的文件实例
Apr 01 Python
Python2中文处理纪要的实现方法
Mar 10 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
Apr 15 Python
python tkinter实现界面切换的示例代码
Jun 14 Python
Python如何调用JS文件中的函数
Aug 16 Python
利用python实现周期财务统计可视化
Aug 25 Python
python基于gevent实现并发下载器代码实例
Nov 01 Python
python如何实现不用装饰器实现登陆器小程序
Dec 14 Python
浅谈Python访问MySQL的正确姿势
Jan 07 Python
python如何使用代码运行助手
Jul 03 Python
Python3.8官网文档之类的基础语法阅读
Sep 04 Python
python turtle绘图命令及案例
Nov 23 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脚本的10个技巧(6)
2006/10/09 PHP
PHP的中问验证码
2006/11/25 PHP
相对路径转化成绝对路径
2007/04/10 PHP
php面向对象全攻略 (一) 面向对象基础知识
2009/09/30 PHP
比较简单实用的PHP无限分类源码分享(思路不错)
2011/10/13 PHP
php中sprintf与printf函数用法区别解析
2014/02/17 PHP
Yii模型操作之criteria查找数据库的方法
2016/07/15 PHP
php连接mysql数据库
2017/03/21 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
2020/05/02 PHP
jQuery boxy弹出层插件中文演示及使用讲解
2011/02/24 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
2013/10/14 Javascript
简单的js表单验证函数
2013/10/28 Javascript
javascript限制用户只能输汉字中文的方法
2014/11/20 Javascript
基于javascript实现九宫格大转盘效果
2020/05/28 Javascript
jQuery Easyui DataGrid点击某个单元格即进入编辑状态焦点移开后保存数据
2016/08/15 Javascript
js当前页面登录注册框,固定div,底层阴影的实例代码
2016/10/04 Javascript
jQuery插件HighCharts实现气泡图效果示例【附demo源码】
2017/03/13 Javascript
JS正则替换去空格的方法
2017/03/24 Javascript
详解tween.js的使用教程
2017/09/14 Javascript
JavaScript如何借用构造函数继承
2019/11/06 Javascript
适用于 Vue 的播放器组件Vue-Video-Player操作
2020/11/16 Javascript
深度剖析使用python抓取网页正文的源码
2014/06/11 Python
浅谈Python中copy()方法的使用
2015/05/21 Python
详解Python中的Descriptor描述符类
2016/06/14 Python
python使用matplotlib绘制折线图教程
2017/02/08 Python
TensorFlow平台下Python实现神经网络
2018/03/10 Python
django 信号调度机制详解
2019/07/19 Python
关于python3.9安装wordcloud出错的问题及解决办法
2020/11/02 Python
python 图像增强算法实现详解
2021/01/24 Python
HTML+CSS3+JS 实现的下拉菜单
2020/11/25 HTML / CSS
廉价连衣裙和婚纱礼服在线销售:Tbdress
2019/02/28 全球购物
internal修饰符起什么作用
2013/12/16 面试题
幼儿园小班教师寄语
2014/04/03 职场文书
汽车维修专业自荐书
2014/05/26 职场文书
MySQL利用UNION连接2个查询排序失效详解
2021/11/20 MySQL
nginx 配置缓存
2022/05/11 Servers