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之一个免费的实验室
Sep 14 Python
Python的Flask框架中实现简单的登录功能的教程
Apr 20 Python
Python无损音乐搜索引擎实现代码
Feb 02 Python
Python requests库用法实例详解
Aug 14 Python
使用 Python 实现简单的 switch/case 语句的方法
Sep 17 Python
Python使用修饰器进行异常日志记录操作示例
Mar 19 Python
numpy数组广播的机制
Jul 12 Python
django框架创建应用操作示例
Sep 26 Python
Anaconda3+tensorflow2.0.0+PyCharm安装与环境搭建(图文)
Feb 18 Python
python使用pyecharts库画地图数据可视化的实现
Mar 25 Python
基于python实现FTP文件上传与下载操作(ftp&sftp协议)
Apr 01 Python
Jupyter Notebook打开任意文件夹操作
Apr 14 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
解决MySQL中文输出变成问号的问题
2008/06/05 PHP
php创建图像具体步骤
2017/03/13 PHP
精通Javascript系列之数值计算
2011/06/07 Javascript
幻灯片带网页设计中的20个奇妙应用示例小结
2012/05/27 Javascript
JS中令人发指的valueOf方法介绍
2013/02/22 Javascript
实现网页页面跳转的几种方法(meta标签、js实现、php实现)
2014/05/20 Javascript
js中string转int把String类型转化成int类型
2014/08/13 Javascript
Javascript解析URL方法详解
2014/12/05 Javascript
很全面的JavaScript常用功能汇总集合
2016/01/22 Javascript
js如何准确获取当前页面url网址信息
2020/09/13 Javascript
jQuery实现响应鼠标事件的图片透明效果【附demo源码下载】
2016/06/16 Javascript
关于JS中的方法是否加括号的问题
2016/07/27 Javascript
jQuery+正则+文本框只能输入数字的实现方法
2016/10/07 Javascript
用nodejs搭建websocket服务器
2017/01/23 NodeJs
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
JavaScript mixin实现多继承的方法详解
2017/03/30 Javascript
vue.js移动数组位置,同时更新视图的方法
2018/03/08 Javascript
关于js陀螺仪的理解分析
2019/04/11 Javascript
Vuex 模块化使用详解
2019/07/31 Javascript
vue实现移动端H5数字键盘组件使用详解
2020/08/25 Javascript
[01:10:49]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
python计算最大优先级队列实例
2013/12/18 Python
TensorFlow平台下Python实现神经网络
2018/03/10 Python
TensorFlow的权值更新方法
2018/06/14 Python
TensorFlow梯度求解tf.gradients实例
2020/02/04 Python
使用Python 自动生成 Word 文档的教程
2020/02/13 Python
Python逐行读取文件内容的方法总结
2020/02/14 Python
python属于跨平台语言码
2020/06/09 Python
python如何代码集体右移
2020/07/20 Python
详解window.open被浏览器拦截的解决方案
2019/07/18 HTML / CSS
jQuery treeview树形结构应用
2021/03/24 jQuery
毕业生的求职信范文分享
2013/12/04 职场文书
干部鉴定材料
2014/05/18 职场文书
个人学习群众路线心得体会
2014/11/05 职场文书
办公室主任岗位职责
2015/01/31 职场文书
医院员工辞职信范文
2015/05/12 职场文书