wheel是python新的发行标准,旨在替代传统的egg,pip >=1.4的版本均支持wheel, 使用wheel作为你python库的发行文件,有如下好处:
本质上,wheel是一个zip压缩文件,将.whl扩展名替换为.zip,你就可以使用zip应用程序打开它,可以想象pip在安装wheel文件时,其过程也正是对它进行解压,然后复制到site-packges目录下,当然,实际的过程要比我刚才描述的要复杂一些,毕竟有很多事情要做,比如安装依赖。下面的代码向你展示如何解压一个wheel安装文件
from zipfile import ZipFile
with ZipFile("notebook-7.0.0-py3-none-any.whl", allowZip64=True) as z:
z.extractall("./notebook")
解压后,可以在notebook目录下找到两个文件夹,分别是notebook-7.0.0.dist-info 和 notebook, notebook是源文件,notebook-7.0.0.dist-info是一些关键的安装信息, entry_points.txt中记录的是notebook的命令入口信息,METADATA记录了notebook的元信息,比如安装依赖,适用的平台,支持的python版本等等,pip就是根据这里的信息对库进行安装的。
制作wheel安装包的前提是编写setup.py文件,关于setup.py的制作,可以阅读我的另一篇文章python库打包分发setup.py编写指南。
安装wheel库
pip install wheel
制作whl文件非常简单
pip wheel --wheel-dir=/root/whl ./
--wheel-dir 指定生成.whl文件的存储位置,上面的命令,我是进入到setup.py文件所在目录执行的,因此使用的./ 表示当前目录,你可以在任意位置执行上面的命令,但是最后一部分必须是setup.py所在的目录。在setup.py所在的目录里,请将库的安装依赖写入到requirements.txt文件中,在制作.whl 安装包时会将requirements.txt里的安装依赖写入到dist-info 里的METADATA文件中。
QQ交流群: 211426309