python中wheel的用法整理

所属分类: 脚本专栏 / python 阅读数: 1866
收藏 0 赞 0 分享

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

更多精彩内容其他人还在看

pandas的qcut()方法详解

这篇文章主要介绍了pandas的qcut()方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

从列表或字典创建Pandas的DataFrame对象的方法

这篇文章主要介绍了从列表或字典创建Pandas的DataFrame对象的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

pandas.DataFrame的pivot()和unstack()实现行转列

这篇文章主要介绍了pandas.DataFrame的pivot()和unstack()实现行转列,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

pandas中的series数据类型详解

这篇文章主要介绍了pandas中的series数据类型详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

pandas 时间格式转换的实现

这篇文章主要介绍了pandas 时间格式转换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

python中时间、日期、时间戳的转换的实现方法

这篇文章主要介绍了python中时间、日期、时间戳的转换的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

pandas进行时间数据的转换和计算时间差并提取年月日

这篇文章主要介绍了pandas进行时间数据的转换和计算时间差并提取年月日,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法

这篇文章主要介绍了详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

python和c语言的主要区别总结

在本篇文章里小编给各位整理了关于python和c语言的主要区别的相关知识帖内容,有需要的朋友们学习阅读下。
收藏 0 赞 0 分享

选择Python写网络爬虫的优势和理由

在本篇文章里小编给各位整理了一篇关于选择Python写网络爬虫的优势和理由以及相关代码实例,有兴趣的朋友们阅读下吧。
收藏 0 赞 0 分享
查看更多