Ошибка импорта: нет модуля с именем 'llvmlite.llvmpy.ee'
Мне нужно использовать Numba на кластере, работающем на Centos 7.
Однако ИТ-команда не смогла установить llvm 4.0 (нет компоновщика для Centos 7), поэтому они установили llvm 3.9.
После этого я успешно установил llvmlite 0.16.0 и Numba 0.17 с помощью pip.
К сожалению, когда я запускаю простую тестовую программу, я получаю следующую ошибку: ImportError: No module named 'llvmlite.llvmpy.ee'
Вот полная ошибка:
Traceback (последний вызов был последним):
Файл "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-
packages / 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-
packages / numba / target / registry.py ", строка 3, в
from . import cpu
Файл "/home/exacloud/lustre1/gray_lab/users/Guillaume/Python/lib/python3.4/site- packages/numba/target / cpu.py", строка 6, в
import llvmlite.llvmpy.ee as le
Ошибка импорта: нет модуля с именем 'llvmlite.llvmpy.ee'
Есть идеи как это исправить?
1 ответ
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
Поэтому вам, вероятно, нужно использовать Numba 0.33.x, если вы хотите работать с LLVM 3.9. Учитывая, что numba быстро меняется, кажется, что любая версия до numba 0.30 (первая требует llvmlite 0.16) или после 0.33 (последняя - до llvmlite 0.16) не будет работать, потому что API изменился.