您的位置:首页 > 编程语言 > Python开发

Python3 setup.py编写详解(setuptools, distutils工具的使用)

2017-02-17 17:17 796 查看

一、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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  setuptools setup-py python