簡體   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