3

我需要在 Centos 7 上运行的集群上使用 Numba。

但是,IT 团队无法安装 llvm 4.0(Centos 7 没有构建器),因此他们安装了 llvm 3.9。

之后,我使用 pip 成功安装了 llvmlite 0.16.0 和 Numba 0.17。

不幸的是,当我启动一个简单的测试程序时,我收到以下错误:ImportError: No module named 'llvmlite.llvmpy.ee'

这是完整的错误:

回溯(最近一次通话最后):

文件“LINCS_Test.py”,第 17 行,在

import KerasImageDataGenerator as kidg

文件“../KerasImageDataGenerator.py”,第 1 行,在

import KerasBatchTransformation2D as bt

文件“../KerasBatchTransformation2D.py”,第 1 行,在

import numba

文件

“/home/exacloud/lustre1/gray_lab/users/Guillaume/Python/lib/python3.4/site-

包/numba/ init .py”,第 6 行,在

from . import testing, decorators

文件

“/home/exacloud/lustre1/gray_lab/users/Guillaume/Python/lib/python3.4/site-

packages/numba/decorators.py”,第 7 行,在

from .targets import registry

文件

“/home/exacloud/lustre1/gray_lab/users/Guillaume/Python/lib/python3.4/site-

包/numba/targets/registry.py”,第 3 行,在

from . import cpu

文件“/home/exacloud/lustre1/gray_lab/users/Guillaume/Python/lib/python3.4/site-packages/numba/targets/cpu.py”,第 6 行,在

import llvmlite.llvmpy.ee as le

ImportError:没有名为“llvmlite.llvmpy.ee”的模块

知道如何解决吗?

4

1 回答 1

3

llvmlite存储库包含一个兼容 LLVM 版本的表。目前它是这样写的:

llvmlite versions   compatible LLVM versions
0.17.0 - ...        4.0.x
0.16.0 - 0.17.0     3.9.x
0.13.0 - 0.15.0     3.8.x
0.9.0 - 0.12.1      3.7.x
0.6.0 - 0.8.0       3.6.x
0.1.0 - 0.5.1       3.5.x

numba 存储库维护一个文件,其中列出了llvmlite:的要求requirements.txt。目前的要求是:

llvmlite>=0.20

然而, Numba 0.33似乎有一个与 LLVM 3.9.x 兼容的要求:

llvmlite>=0.16

因此,如果您想使用 LLVM 3.9,您可能需要使用 Numba 0.33.x。鉴于 numba 正在/正在迅速变化,似乎 numba 0.30 之前的任何版本(第一个需要 llvmlite 0.16)或 0.33 之后的任何版本(最后一个接受 llvmlite 0.16)都将无法工作,因为 API 发生了变化。

于 2017-10-04T09:27:39.350 回答