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利用dir函数查看类中所有成员函数示例代码
Sep 08 Python
python 信息同时输出到控制台与文件的实例讲解
May 11 Python
Python使用matplotlib实现基础绘图功能示例
Jul 03 Python
Django rstful登陆认证并检查session是否过期代码实例
Aug 13 Python
python的time模块和datetime模块实例解析
Nov 29 Python
Python的形参和实参使用方式
Dec 24 Python
Python基础之高级变量类型实例详解
Jan 03 Python
打包PyQt5应用时的注意事项
Feb 14 Python
使用python的turtle函数绘制一个滑稽表情
Feb 28 Python
numpy矩阵数值太多不能全部显示的解决
May 14 Python
Python3爬虫带上cookie的实例代码
Jul 28 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
Dec 03 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
用Flash图形化数据(一)
2006/10/09 PHP
php数组应用之比较两个时间的相减排序
2008/08/18 PHP
php垃圾代码优化操作代码
2010/08/05 PHP
提高define性能的php扩展hidef的安装和使用
2011/06/14 PHP
php中global和$GLOBALS[]的分析之一
2012/02/02 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
2013/06/25 PHP
解析PHP中$_FILES的使用以及注意事项
2013/07/05 PHP
PHP分页类集锦
2014/11/18 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
2019/05/09 PHP
php7性能提升的原因详解
2019/10/13 PHP
用Laravel轻松处理千万级数据的方法实现
2020/12/25 PHP
用js自动判断浏览器分辨率的代码
2007/01/28 Javascript
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
2009/04/07 Javascript
Javascript 构造函数,公有,私有特权和静态成员定义方法
2009/11/30 Javascript
关于javascript function对象那些迷惑分析
2011/10/24 Javascript
JavaScript实现二分查找实例代码
2017/02/22 Javascript
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
2017/04/03 jQuery
vue-cli+webpack在生成的项目中使用bootstrap实例代码
2017/05/26 Javascript
简单了解TypeScript中如何继承 Error 类
2019/06/21 Javascript
React组件对子组件children进行加强的方法
2019/06/23 Javascript
解决layui的input独占一行的问题
2019/09/10 Javascript
微信小程序实现下拉加载更多商品
2020/12/29 Javascript
浅谈Python中函数的参数传递
2016/06/21 Python
TF-IDF算法解析与Python实现方法详解
2017/11/16 Python
聊聊Python中的pypy
2018/01/12 Python
关于Python 常用获取元素 Driver 总结
2019/11/24 Python
django实现模型字段动态choice的操作
2020/04/01 Python
Python CategoricalDtype自定义排序实现原理解析
2020/09/11 Python
Python抓包并解析json爬虫的完整实例代码
2020/11/03 Python
东方红海科技面试题软件测试方面
2012/02/08 面试题
医药营销专业个人自荐信
2013/09/29 职场文书
创优争先心得体会
2014/09/11 职场文书
信息与工商管理职业规划范文:为梦想而搏击
2014/09/11 职场文书
大学生创业计划书怎么写
2014/09/15 职场文书
英文慰问信
2015/02/14 职场文书
MySQL系列之十三 MySQL的复制
2021/07/02 MySQL