【发布时间】:2020-06-07 12:48:00
【问题描述】:
是否可以在 Cython 扩展中使用嵌套包(也称为子目录),如果可以,我应该怎么做?
似乎 Cython 不允许在顶级包之外进行相对导入/cimport。所以,假设我有以下 Cython 项目结构:
/lib_interface.pyx
/lib_interface.pxd // the top level source files
/submodule/__init__.pxd
/submodule/submodule_code.pyx
/submodule/submodule_code.pxd
假设我们生成的 Cython 库称为 SomeLib,所以在 Python 中我希望这样做: 从 SomeLib.submodule 导入 SomeClass
但这会导致错误提示“SomeLib.submodule”不是一个包。
我尝试 cimporting 并将子模块导入 lib_interface.pxd,但没有帮助。
【问题讨论】:
-
尝试在你有 lib_interface 的地方添加一个空的
__init__.pxd
标签: python python-3.x cython