[英]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.