Python 快速实现CLI 应用程序的脚手架

 更新时间:2017年12月05日 09:06:38   作者:马飞  
本篇文章主要介绍了Python 快速实现CLI 应用程序的脚手架,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

今天跟大家分享一下如何快速实现一个Python CLI应用程序的脚手架,之所以会做这个是因为当时需要做一个运维的小工具希望用命令行的方式来使用,但是搜遍网上很多资料都没有系统讲解从开发、集成、发布、文档等一系列流程的文章。

工程结构

如上图,这就是一个比较规范的Python CLI应用项目了,下面一一讲下各文件的用途:

项目文档

这里我们用Sphinx来实现文档的自动生成,当然你要首先通过markdown和rst文件定义好文档的内容,然后进入docs目录执行 make html命令就可以在_build目录下生成对应的静态文件,如下图:

具体Sphinx如何使用以及配置后面会单独文章讲解

主工程

这里讲几个需要注意的地方

1、日志的配置:

这里可以全局设置日志的一些输出级别和格式化方式

2、cli文件

这里通过click库来实现

3、二进制文件打包

如上图,有时候我们的工程中会包含二进制文件,也就是非Python代码的文件,这时候如果还是像往常一样打包发布,安装的时候会发现无法找到此文件,所以需要在根目录的MANIFEST.in文件中加入

脚本

如下图,这里的make-release文件主要是用来自动控制版本的,如下图,通过Git 的提交记录了来作为项目的唯一版本号标识,再对 init 文件进行重新写入达到持续集成时版本号自增的目的。

单元测试

test文件夹中存放的就是项目的单元测试文件了,这里就不细展开讲了,后面会具体讲讲如何跟Jenkins集成实现静态代码检查

setup

最重要的就是setup.py这个文件了,项目最后打包发布到pypi仓库主要的配置信息都在这里了,如下图:

这个脚手架的项目地址:https://github.com/logan62334/python-cli-template

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Django中反向生成models.py的实例讲解

    Django中反向生成models.py的实例讲解

    今天小编就为大家分享一篇Django中反向生成models.py的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • python Django模板的使用方法(图文)

    python Django模板的使用方法(图文)

    模板通常用于产生HTML,但是Django的模板也能产生任何基于文本格式的文档。
    2013-11-11
  • 解决tensorflow由于未初始化变量而导致的错误问题

    解决tensorflow由于未初始化变量而导致的错误问题

    今天小编就为大家分享一篇解决tensorflow由于未初始化变量而导致的错误问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python Handler处理器和自定义Opener原理详解

    Python Handler处理器和自定义Opener原理详解

    这篇文章主要介绍了Python Handler处理器和自定义Opener原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • python调用百度API实现人脸识别

    python调用百度API实现人脸识别

    这篇文章主要介绍了python调用百度API实现人脸识别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • 详解Django中的过滤器

    详解Django中的过滤器

    这篇文章主要介绍了Django中的过滤器,Django是重多高人气Python框架中最为著名的一个,需要的朋友可以参考下
    2015-07-07
  • Python GUI学习之登录系统界面篇

    Python GUI学习之登录系统界面篇

    这篇文章主要介绍了Python GUI学习之登录系统界面篇,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • tensorflow中next_batch的具体使用

    tensorflow中next_batch的具体使用

    本篇文章主要介绍了tensorflow中next_batch的具体使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • Python 除法小技巧

    Python 除法小技巧

    Python中将两个整数相除,默认结果是为整数的。但我们可以通过下面的方法,使得两个整数相除的结果为小数。
    2008-09-09
  • Python 实例方法、类方法、静态方法的区别与作用

    Python 实例方法、类方法、静态方法的区别与作用

    Python中至少有三种比较常见的方法类型,即实例方法,类方法、静态方法。它们是如何定义的呢?如何调用的呢?它们又有何区别和作用呢?感兴趣的朋友跟随小编一起看看吧
    2019-08-08

最新评论