如何在cython中编译多个文件
how to compile multiple files in cython
Cython 新手。我在名为 setup.py
的文件中使用以下代码片段将另一个文件编译为 Cython
(SO 用户通过 向我建议):
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'],)]
应该可以解决问题。
run_cython.pyx - 与 setup.py 的目录
处于同一级别的文件
compilled.pyx - 目录中的文件,与 setup.py 的目录
位于同一层
from distutils.core import setup
from Cython.Build import cythonize
setup(ext_modules = cythonize(
'run_cython.pyx',
'./app/compilled.pyx'
)
)
Cython 新手。我在名为 setup.py
的文件中使用以下代码片段将另一个文件编译为 Cython
(SO 用户通过
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'],)]
应该可以解决问题。
run_cython.pyx - 与 setup.py 的目录
处于同一级别的文件compilled.pyx - 目录中的文件,与 setup.py 的目录
位于同一层from distutils.core import setup
from Cython.Build import cythonize
setup(ext_modules = cythonize(
'run_cython.pyx',
'./app/compilled.pyx'
)
)