python-如何在cython中编译多个文件

Cybie的新手.我在名为setup.py的文件中使用以下代码段将另一个文件编译为Cython(SO用户在here上向我建议)

from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext

ext_modules = [Extension('func1', ['util/func1_pc.py'],)]

setup(
    name="Set 1 of Functions",
    cmdclass={'build_ext': build_ext},
    ext_modules=ext_modules
)

我将其编译为python setup.py build_ext –inplace.这会将位于util / func1_pc.py的文件编译到setup.py目录中的func1.pyd中.

假设我现在有两个文件:util / funct1_pc.py和util / funct2_pc.py.有人可能会建议如何修改上述代码片段,以便从中生成func1.pyd和func2.pyd吗?

谢谢.

解决方法:

Extension constructor允许您指定多个源文件,因此将ext_modules行更改为此:

ext_modules = [Extension('func1', ['util/func1_pc.py', 'util/funct2_pc.py'],)]

应该可以.

上一篇:cython.parallel.parallel和nogil写入文件


下一篇:Cython调用lapack,错误:“无法获取Python变量的地址”