繁体   English   中英

如何使用 Numba 作为可选依赖项分发 Python package

[英]How to distribute Python package with Numba as optional dependency

给定一个 numba 修饰的代码,

from numba import jit

@jit(nopython=True)
def f():
    ...

,如何将 Numba 作为可选依赖项作为 package 分发? 例如,我想通过pip install mypackage[jit]安装我的 package,其中包含 numba 并删除额外的标签以排除 numba。

一个不好的答案是要求用户安装 Numba,例如,设置NUMBA_DISABLE_JIT=1

创建一个虚拟装饰器:

try:
    from numba import jit
except ImportError:
    def jit(*args, **kwargs):
        return lambda f: f


@jit(nopython=True)
def f():
    ...

一个解决方案,虽然不是很漂亮......

USE_NUMBA = True
try:
    from numba import jit
except ImportError:
    USE_NUMBA = False

def f():
    ...

if USE_NUMBA:
    f = jit(nopython=True)(f)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM