如何在 python 介子管理的项目中包含 cython 文件?
How do include cython files in python meson-managed project?
如何在介子构建系统管理的 python 介子项目中正确包含 cython 源文件?
我找到的最简单的方法(完全在代码端)是像添加任何其他源文件一样添加它们,并且当您需要将它们导入 python 文件时
只需添加
from pyximport import install
install(language_level=3)
导入前。
最好的方法 不过是@dcbaker 的。我写了一个示例 pygobject cython 应用程序来显示 here.
Cython 作为第一个 class 语言是 still in progress(我是该作品的作者),现在正确的方法是使用生成器或自定义目标,然后编译扩展模块:
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
)
Here's an example from the meson test suite,这与我上面的示例非常接近。
编辑:cython 作为第一个 class 语言已经登陆。所以如果你可以依赖 Meson 0.59.0,你可以这样做:
import('python').find_installation().extension_module(
'my_extension_module'
'cython_file.pyx',
install : true
)
如何在介子构建系统管理的 python 介子项目中正确包含 cython 源文件?
我找到的最简单的方法(完全在代码端)是像添加任何其他源文件一样添加它们,并且当您需要将它们导入 python 文件时
只需添加
from pyximport import install
install(language_level=3)
导入前。
最好的方法 不过是@dcbaker 的。我写了一个示例 pygobject cython 应用程序来显示 here.
Cython 作为第一个 class 语言是 still in progress(我是该作品的作者),现在正确的方法是使用生成器或自定义目标,然后编译扩展模块:
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
)
Here's an example from the meson test suite,这与我上面的示例非常接近。
编辑:cython 作为第一个 class 语言已经登陆。所以如果你可以依赖 Meson 0.59.0,你可以这样做:
import('python').find_installation().extension_module(
'my_extension_module'
'cython_file.pyx',
install : true
)