Python
我在使用中开发复杂的数学库numba
。任何函数都必须支持jit
和aot
。我有从另一个文件调用函数的函数。
功能1.py:
from numba.pycc import CC
from numba import njit
cc = CC('func1')
@njit
@cc.export('calc', 'f8(f8, f8)')
def calc(a, b):
return a + b
func1.py 编译成 func1.cp38-win_amd64.pyd 使用cc.compile()
函数2.py:
import func1 as func
from numba import njit
from numba.pycc import CC
cc = CC('func2')
@njit
@cc.export('calc', 'f8(f8, f8)')
def calc(a, b):
return func.calc(a, b)
如果我尝试编译 func2.py,则会引发错误:
numba.core.errors.TypingError:在 nopython 模式管道中失败(步骤:nopython 前端)Module 类型的未知属性“calc”(<module 'func1' from '...\func1.cp38-win_amd64.pyd'>)
我可以从扩展模块调用扩展模块吗?如何正确操作?