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中apply函数的用法实例教程
Jul 31 Python
python判断一个集合是否包含了另外一个集合中所有项的方法
Jun 30 Python
Python下的常用下载安装工具pip的安装方法
Nov 13 Python
一份python入门应该看的学习资料
Apr 11 Python
python使用tornado实现登录和登出
Jul 28 Python
python 实现一个反向单位矩阵示例
Nov 29 Python
详解python 破解网站反爬虫的两种简单方法
Feb 09 Python
详解Django3中直接添加Websockets方式
Feb 12 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
Jul 01 Python
详解python中的lambda与sorted函数
Sep 04 Python
解决pycharm不能自动保存在远程linux中的问题
Feb 06 Python
Python基础之函数嵌套知识总结
May 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 url地址栏传中文乱码解决方法集合
2010/06/25 PHP
根据中文裁减字符串函数的php代码
2013/12/03 PHP
Yii中的relations数据关联查询及统计功能用法详解
2016/07/14 PHP
php解析mht文件转换成html的实例
2017/03/13 PHP
Laravel 实现添加多语言提示信息
2019/10/25 PHP
在页面上点击任一链接时触发一个事件的代码
2007/04/07 Javascript
java和javascript获取word文档的书签位置对比
2014/06/19 Javascript
jquery实现导航固定顶部的效果仿蘑菇街
2014/10/22 Javascript
jQuery实现企业网站横幅焦点图切换功能实例
2015/04/30 Javascript
nodejs简单实现中英文翻译
2015/05/04 NodeJs
详解JavaScript的AngularJS框架中的作用域与数据绑定
2016/03/04 Javascript
jQuery中选择器的基础使用教程
2016/05/23 Javascript
Bootstrap3.0学习教程之JS折叠插件
2016/05/27 Javascript
Angular 4根据组件名称动态创建出组件的方法教程
2017/11/01 Javascript
three.js实现3D视野缩放效果
2017/11/16 Javascript
把vue-router和express项目部署到服务器的方法
2018/02/21 Javascript
vue3.0 CLI - 3.2 路由的初级使用教程
2018/09/20 Javascript
vue-router 手势滑动触发返回功能
2018/09/30 Javascript
微信小程序按顺序同步执行的两种方式
2019/12/20 Javascript
详解如何在Javascript中使用Object.freeze()
2020/10/18 Javascript
将Python代码打包为jar软件的简单方法
2015/08/04 Python
Python的SimpleHTTPServer模块用处及使用方法简介
2018/01/22 Python
Python使用itertools模块实现排列组合功能示例
2018/07/02 Python
python中join()方法介绍
2018/10/11 Python
详解python中list的使用
2019/03/15 Python
django-初始配置(纯手写)详解
2019/07/30 Python
python matplotlib库绘制条形图练习题
2019/08/10 Python
django框架auth模块用法实例详解
2019/12/10 Python
HTML5中drawImage用法分析
2014/12/01 HTML / CSS
青春无悔演讲稿
2014/05/08 职场文书
产品售后服务承诺书
2014/05/21 职场文书
2014年大学生职业规划书:未来不是梦,只要勇敢冲!
2014/09/22 职场文书
十八大宣传标语
2014/10/09 职场文书
2015年员工试用期工作总结
2014/12/12 职场文书
2015年度销售个人工作总结
2015/03/31 职场文书
Oracle 触发器trigger使用案例
2022/02/24 Oracle