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通过yield实现数组全排列的方法
Mar 18 Python
Python基于scrapy采集数据时使用代理服务器的方法
Apr 16 Python
python初学之用户登录的实现过程(实例讲解)
Dec 23 Python
Python实现矩阵相乘的三种方法小结
Jul 26 Python
浅谈python的dataframe与series的创建方法
Nov 12 Python
Python动态赋值的陷阱知识点总结
Mar 17 Python
使用Python3内置文档高效学习以及官方中文文档
May 19 Python
pycharm新建一个python工程步骤
Jul 16 Python
Linux下通过python获取本机ip方法示例
Sep 06 Python
python-web根据元素属性进行定位的方法
Dec 13 Python
浅谈Keras的Sequential与PyTorch的Sequential的区别
Jun 17 Python
Python 如何将integer转化为罗马数(3999以内)
Jun 05 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创建PDF中文文档
2006/10/09 PHP
基于PHP array数组的教程详解
2013/06/05 PHP
YII2框架使用控制台命令的方法分析
2020/03/18 PHP
JS实现点击下载的小例子
2013/07/10 Javascript
深入解析JavaScript中的变量作用域
2013/12/06 Javascript
使用jquery组件qrcode生成二维码及应用指南
2015/02/22 Javascript
jQuery实现带分组数据的Table表头排序实例分析
2015/11/24 Javascript
AngularJS入门教程之 XMLHttpRequest实例讲解
2016/07/27 Javascript
关于原生js中bind函数的简单实现
2016/08/10 Javascript
Bootstrap树形菜单插件TreeView.js使用方法详解
2016/11/01 Javascript
如何正确理解javascript的模块化
2017/03/02 Javascript
Axios学习笔记之使用方法教程
2017/07/21 Javascript
Windows下快速搭建NodeJS本地服务器的步骤
2017/08/09 NodeJs
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
2017/11/27 Javascript
微信小程序实现手势图案锁屏功能
2018/01/30 Javascript
解决vue 打包发布去#和页面空白的问题
2018/09/04 Javascript
JS实现继承的几种常用方式示例
2019/06/22 Javascript
Python实现的一个自动售饮料程序代码分享
2014/08/25 Python
Python使用requests发送POST请求实例代码
2018/01/25 Python
numpy中矩阵合并的实例
2018/06/15 Python
python 自定义对象的打印方法
2019/01/12 Python
Python实现去除列表中重复元素的方法总结【7种方法】
2019/02/16 Python
Python 中Django安装和使用教程详解
2019/07/03 Python
在python image 中安装中文字体的实现方法
2019/08/22 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
2020/02/05 Python
jupyter lab的目录调整及设置默认浏览器为chrome的方法
2020/04/10 Python
Canvas图片分割效果的实现
2019/07/29 HTML / CSS
美国基督教约会网站:ChristianCafe.com
2020/02/04 全球购物
万代美国官网:PREMIUM BANDAI USA
2020/09/11 全球购物
员工三分钟演讲稿
2014/08/19 职场文书
2015年元旦文艺晚会总结(学院)
2014/11/28 职场文书
商标侵权律师函
2015/05/27 职场文书
2016年中学清明节活动总结
2016/04/01 职场文书
pandas中DataFrame重置索引的几种方法
2021/05/24 Python
vue-cli4.5.x快速搭建项目
2021/05/30 Vue.js
CSS浮动引起的高度塌陷问题
2022/08/05 HTML / CSS