我的目录结构如下:
example1(folder)
- util.pyd(file)
- high.pyd(file)
example2(folder)
-main_file.py(file)
这里,util.pyd和high.pyd文件都在cython中。
此外,util.pyd是high.pyd的父级。
这意味着它使用一类util.pyd作为其类的对象。然后main_file.py从util.pyd和high.pyd中导入类。
我面临的问题是:
在main_file.py中,它正确地从Util.pyd导入类,但是从high.pyd导入类,它无法找到util。
答案 0 :(得分:0)
以下最小的完整示例适用于我:
<强>示例2 / main_file.py 强>
from example1 import high
<强>例1 / util.pyx 强>
class U:
pass
<强>例1 / high.pyx 强>
from . import util
class C(util.U):
pass
我通过更改目录example1并执行cythonize -i util.pyx
和cythonize -i high.pyx
从包含“example1”和“example”的目录中,我运行了python3 -m example2.main_file
(这是将子模块作为脚本运行的合适方式)。
如果这还不足以让您的代码正常工作,我建议您编辑问题以显示 您的所作所为。