2

Python我在使用中开发复杂的数学库numba。任何函数都必须支持jitaot。我有从另一个文件调用函数的函数。

功能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'>)

我可以从扩展模块调用扩展模块吗?如何正确操作?

4

0 回答 0