我在一个包中有多个 .py 文件
packageA
\__init__.py
\mod1.py
\mod2.py
\mod3.py
我可以将 cython 配置为编译然后将它们打包在一起packageA.pyd
吗?
我在一个包中有多个 .py 文件
packageA
\__init__.py
\mod1.py
\mod2.py
\mod3.py
我可以将 cython 配置为编译然后将它们打包在一起packageA.pyd
吗?
就个人而言,我最好将所有.py
文件转换为.pyx
,然后将它们包含到.pyx
Cython 扩展的主体中:
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
,我不知道这对你来说是否可以接受,或者你的包中是否真的需要不同的模块。但是可能还有其他更适合您的问题的方法...