如何将cython文件包含在python介子管理的项目中



如何在由介子构建系统管理的python介子项目中正确地包含cython源文件?

Cython作为第一类语言仍在开发中(我是这项工作的作者(,现在正确的方法是使用生成器或自定义目标,然后编译一个扩展模块:

pyx_c = custom_target(
'cython_file.c',
output : 'cython_file.c',
input : 'cython_file.pyx',
command : [cython, '@INPUT@', '-o', '@OUTPUT@'],
)
import('python').find_installation().extension_module(
'my_extension_module'
pyx_c,
install : true
)

这是介子测试套件中的一个例子,它与我上面的例子非常接近。

编者按:cython作为一种一流的语言已经登陆。所以,如果你可以依赖Meson 0.59.0,你可以做:

import('python').find_installation().extension_module(
'my_extension_module'
'cython_file.pyx',
install : true
)

我发现的最简单的方法(完全是代码端(是像添加任何其他源文件一样添加它们,并且当您需要在python文件中导入它们时

只需添加

from pyximport import install
install(language_level=3)

在导入之前。

最好的方式是@dcbaker's。我写了一个示例pygoject-cython应用程序来展示这一点。

相关内容

  • 没有找到相关文章

最新更新