我在一个软件包中有多个.py文件
packageA
\__init__.py
\mod1.py
\mod2.py
\mod3.py
我可以配置cython进行编译,然后将它们打包在一个packageA.pyd
中吗?
答案 0 :(得分:3)
就个人而言,我最好将所有.py
个文件转换为.pyx
,然后将它们包含在Cython扩展程序的主.pyx
中:
packageA.pyx
:
include "mod1.pyx"
include "mod2.pyx"
include "mod3.pyx"
然后,使用setup.py
进行编译,如下所示:
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("packageA", sources=["packageA.pyx"])
]
)
运行此命令会生成一个packageA.pyd
二进制文件。
当然,这将输出一个名为packageA
的模块,我不知道这是否可以接受,或者您是否真的需要包中的不同模块。
但可能还有其他方法可以更好地适应您的问题...