Cython:从同一.so库中的不同.py导入

我编译了一堆.py文件,并将它们链接到一个.so文件中。

在mymod1中,我使用

from .mymod2 import method2

用于从其他文件导入方法,我使用它们,它可以正常工作。

当我使用python导入.so时,一切正常: main.py:

from mylib.mymod1 import method1
x = method1()
print(x)

这很有效,小菜一碟。


现在,我想从C程序中调用method1。我将带有以下代码的bridge.pyx添加到库中

from mymod1 import method1
cdef public void call_method():
    method1()

我在main.c中这样使用它:

#include <Python.h>
#include "bridge.h"

int main(){
    PyImport_AppendInittab("bridge",PyInit_bridge);
    Py_Initialize();
    PyImport_ImportModule("bridge");
    call_method();
    Py_Finalize();
    return 0;
}

我得到以下信息:

Traceback (most recent call last):
  File "pysrc/bridge.pyx",line 1,in init pysrc.bridge
ImportError: attempted relative import with no known parent package
Exception ignored in: 'pysrc.bridge.call_method'
Traceback (most recent call last):
  File "pysrc/bridge.pyx",in init pysrc.bridge
ImportError: attempted relative import with no known parent package

我该如何克服这个问题?

yangyang103 回答:Cython:从同一.so库中的不同.py导入

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3055497.html

大家都在问