Python 如何将自定义构建步骤添加到我的setuptools/distribute setup.py?

Python 如何将自定义构建步骤添加到我的setuptools/distribute setup.py?,python,setuptools,Python,Setuptools,我想使用platformer而不是Extension()从我的setup.py调用C编译器。如何将自定义构建步骤添加到setup.py,以便使用python setup.py build或任何其他构建(bdist.*)命令运行它?我不知道什么是“平台构建器”。我假设您希望完全控制如何构建C扩展,同时为打包工具提供相同的接口 一种可能的方法是: 一个更简单的选择可能只是将生成的C源代码包含到源代码tarball中,并在setup.py中使用标准的内置扩展类。它将提供与现有工具的最佳兼容性。相关:今

我想使用platformer而不是Extension()从我的
setup.py
调用C编译器。如何将自定义构建步骤添加到
setup.py
,以便使用
python setup.py build
或任何其他构建(
bdist.*
)命令运行它?

我不知道什么是“平台构建器”。我假设您希望完全控制如何构建C扩展,同时为打包工具提供相同的接口

一种可能的方法是:


一个更简单的选择可能只是将生成的C源代码包含到源代码tarball中,并在setup.py中使用标准的内置扩展类。它将提供与现有工具的最佳兼容性。

相关:今天,我将用与PEP 517兼容的构建系统完全替换setuptools来解决这个问题。传单,诗歌,
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext

setup(
    cmdclass = {'build_ext': build_ext},
    ext_modules = [Extension("example", ["example.pyx"])]
)