我想通过使用platformer而不是Extension()从我的setup.py
调用C编译器。如何向setup.py
添加自定义构建步骤,以便使用python setup.py build
或任何其他构建(bdist_*
)命令运行?
答案 0 :(得分:2)
我不知道'平台游戏'是什么。我假设您需要完全控制C扩展的构建方式,同时为打包工具提供相同的接口。
可能的方式:Cython defines its custom built_ext command could be used as:
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"])]
)
更简单的选项可能只是将生成的C源包含到源tarball中,并使用setup.py中的标准built_ext扩展类。它将提供与现有工具的最佳兼容性。