很多大的程序使用前都会需要调用setup.py进行build编译并安装自己的库,编写setup.py是为了实现python的C/C++扩展.比如用c++编写nms算法程序,然后作为扩展程序在pytorch进行导入即可,这部分就是setup.py完成的.
本地生产python 模块,动态库
python setup.py builde_ext --inplace
在相应python版本安装
python setup.py install
扩展模块
在Distutils中描述扩展模块较描述纯python模块要复杂一些.对于纯python模块,仅需要列出模块或包,然后Distutils就会去寻找合适的文件,这对于扩展模块来说是不够的,你还需要指定扩展名,源码文件以及其他编译/链接需要的参数(需要包含的目录,需要链接的库等等)
描述扩展模块可以由setup函数的关键字参数ext_modules实现.ext_modules是Extension实例的列表,每一个Extension实例描述了一个独立的扩展模块.扩展模块可以设置扩展包名,头文件,源文件,链接库及其路径,宏定义和编辑参数等,英文原文链接
https://docs.python.org/2/distutils/setupscript.html#describing-extension-modules
1.包名,
name: