wheel

wheel

  上一节介绍了使用setuptools制作egg格式包,这一节介绍使用wheel制作wheel格式的包。
  egg格式是2004年引入的格式,wheel是2012年引入的格式。现在Python的二进制包标准格式是wheel。虽然egg和wheel格式上不同,但是制作流程是很类似的。

安装wheel
  可以使用pip在线安装wheel:pip install wheel。

制作和安装自定义的wheel包
  在Python入门中介绍了自定义包,本节在自定义包的基础上创建能安装的wheel包。
  在自定义包的同级目录创建文件setup.py,其内容如下:

#-*- coding:utf-8 -*-

from setuptools import setup

setup(
    name='mypackage',
    version="0.1.0",
    packages=['mypackage'],
)

  在与setup.py同级的目录下创建目录mypackage,并在mypackage创建空文件__init__.py,具体目录结构如下:

[root@www.fmttr.com mypackage]# tree
.
├── mypackage
│   └── __init__.py
└── setup.py

1 directory, 2 files

  执行生成wheel格式包的命令”python setup.py bdist_wheel“后,其目录结构为:

[root@www.fmttr.com mypackage]# tree
.
├── build
│   ├── bdist.linux-x86_64
│   └── lib
│       └── mypackage
│           └── __init__.py
├── dist
│   └── mypackage-1.0-py3-none-any.whl
├── mypackage
│   └── __init__.py
├── mypackage.egg-info
│   ├── dependency_links.txt
│   ├── PKG-INFO
│   ├── SOURCES.txt
│   └── top_level.txt
└── setup.py

7 directories, 8 files

  其中目录dist下扩展名为whl的文件即为生成的wheel。使用pip可以安装wheel包:pip install dist/mypackage-1.0-py3-none-any.whl。

卸载wheel包
  卸载wheel包的步骤也很简单:
    pip uninstall mypackage或者将目录site-package下包相关的两个文件夹删除即可:mypackage和mypackage-1.0.dist-info。