Databricks: «Numba требует NumPy 1.22» при обновлении numpy

Я использую Azure Databricks с Python. Помимо прочего, я использую модули umap и numpy. Когда я пытаюсь import umap.umap_ as umap, я получаю эту ошибку:

Ошибка импорта: Numba требуется NumPy 1.22 или более поздней версии. Получил NumPy 1.21.

Хорошо, просто обновите numpy, верно? Я побежал !{sys.executable} -m pip install numpy --upgrade и это сработало. Numpy теперь показывает версию в проводнике модуля:

Но когда я снова пытаюсь импортировать umap, я получаю ту же ошибку, что и раньше, говоря, что требуется версия 1.22+. Это требование соблюдено, хотя версия 1.26 похоже не загружается. Я попытался загрузить правильную версию, используя это:

import pkg_resources
pkg_resources.require("numpy==1.26.0")
import numpy as np

Все еще не повезло. Это дает:

VersionConflict: (numpy 1.21.5 (/databricks/python3/lib/python3.9/site-packages), Requirement.parse('numpy==1.26.0'))

Так как мне это сделать?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
86
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Да, даже если вы установите numpy==1.26.0, он все равно покажет вам numpy==1.21.5.

На самом деле, для numba требуется numpy<1.26,>1.22.

Поэтому установите numpy==1.24.0 в конфигурации кластерных библиотек и повторно подключите ноутбук.

Теперь вы получите правильный модуль numpy и сможете успешно импортировать umap.

и

Спасибо тебе за это. Я новичок в Databricks и Azure в целом, поэтому это было очень информативно. Прошу прощения, что не ответил раньше... применение этого решения выявило еще пару проблем, которые также исправлены. Еще раз спасибо.

Andrew 13.10.2023 18:24

Другие вопросы по теме