Python3 setup.py编写详解

发布时间:2019-09-18 07:37:54编辑:auto阅读(2256)

    一、distutils工具的介绍

    1. 功能

        distutils可以用来在Python环境中构建和安装额外的模块。新的模块可以是纯Python的,也可以是用C/C++写的扩展模块,或者可以是Python包,包中包含了由C和Python编写的模块
    

    二、setuptools介绍

        setuptools是 Python Enterprise Application Kit(PEAK)的一个副项目,它是一组Python的 distutilsde工具的增强版(适用于 Python 2.3.5 以上的版本,64 位平台则适用于 Python 2.4 以上的版本),可以让程序员更方便的创建和发布 Python 包,特别是那些对其它包具有依赖性的状况。
    

    三、如何使用setuptools工具

    setuptools的工具使用重点在于setup.py文件的编写。
    

    1. 如何编写setup.py文件

    1.1 setup.py的参数介绍

    name : 打包起来的包的文件名
    version : 版本号,添加为打包文件的后缀名
    author : 作者
    author_email : 作者的邮箱
    py_modules : 罗列所有要打包的源文件
    packages : 要打包的源文件的目录名
    include_package_data : 项目里会有一些非py文件,比如html和js等,这时候就要靠 include_package_data 和 package_data 来指定了。
    package_data:一般写成 {'your_package_name': ["files"]}, include_package_data还没完, 还需要修改MANIFEST.in文件.MANIFEST.in文件的语法为: include xxx/xxx/xxx/*.ini  */(所有以.ini结尾的文件,也可以直接指定文件名)
    license : 支持的开源协议
    description : 对项目简短的一个形容
    ext_modules : 是一个包含Extension实例的列表,Extension的定义也有一些参数。
    ext_package : 定义extension的相对路径
    requires : 定义依赖哪些模块
    provides : 定义可以为哪些模块提供依赖
    data_files : 指定其他的一些文件(如配置文件),规定了哪些文件被安装到哪些目录中。如果目录名是相对路径,则是相对于sys.prefix或sys.exec_prefix的路径。如果没有提供模板,会被添加到MANIFEST文件中。

    setup.py 编写的官方文档:https://docs.python.org/2/distutils/setupscript.html

关键字