测试工具链—— 使用Python实现模块打包

作为测试开发人员,我们产出的测试工具大多数情况是面向测试部门或团队发布的。较以往,只是将整个工具模块上传至Git或SVN,测试人员进行下载,并且根据requirements文件安装依赖库,然后才能使用该工具,工具交付、安装成本较高。

Wheel和Egg都是python的打包格式,根据官 说明,Wheel是发行版Python的新标准并且将要取代.egg,Wheel现在是Python的二进制包的标准格式。

Wheel安装

pip install wheel

模块目录结构说明

  • setup.py :打包配置文件
  • setup.cfg:包含了构建时候的一些默认参数,无可不添加该文件.
  • MANIFEST.in:额外需要打包的文件,无可不添加该文件.
  • README.md:项目说明文档
  • LICENSE.txt:项目许可说明文件,无可不添加该文件.
  • 项目源码:模块源码目录
  • 目录结构图

    setup.cfg

    MANIFEST.in

    setup.py 示例

    主要配置内容

  • name:项目名称,也是最终在 PyPI 上搜索的名称。
  • version:版本 ,一般由“主版本 、子版本 、修正版本 ”三部分组成。
  • description:项目的简短描述,一般一句话就好,会显示在 PyPI 上名字下端。
  • url:通常为项目的GitHub、文档等链接
  • packages:列出项目内需要被打包的所有package。
  • package_data:依赖数据文件,数据文件须放在项目目录内且使用相对路径。
  • data_files:如果数据文件不存在于项目目录内,则使用 data_files 参数或者 MANIFEST.in 文件进行管理。
  • install_requires – 说明项目的依赖包,安装包时pip会自动安装。
  • 示例如下

    setup.py

    生成whl文件

    使用 bdist_wheel 打包

    python setup.py bdist_wheel

    执行结果部分截图

    执行完成后,目录结构如下:

    安装部署

    我们将打包好的.whl对外发布,使用者可以通过pip进行安装部署。

     pip install *.whl

    执行结果截图

    若对你有所帮助,欢迎大家评论、留言。

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2019年1月15日
    下一篇 2019年1月15日

    相关推荐