Решение ошибки с numpy при установке HomeAssistant

Футуристичный дом в стиле кипербанк

Ошибка

После установки HomeAssistant Core, при запуске появляется ошибка:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/srv/homeassistant/lib/python3.11/site-packages/numpy/__init__.py", line 135, in <module>
    raise ImportError(msg) from e
ImportError: Error importing numpy: you should not try to import numpy from
        its source directory; please exit the numpy source tree, and relaunch
        your python interpreter from there

Вроде как решение этой ошибки для HA описано тут и, в общем случае, тут(для raspberry pi), а еще на сайте numpy. Если кратко:

  • Удалить numpy и setuptools через pip и поставить его же через apt (см ниже)
  • Убедиться в версии python и numpy
  • Установить недостающие компоненты

Бред сумасшедшего (можно пропустить)

Мне не помогло ни первое, ни второе, причем все было еще более интересно, так как в консольном питоне не получалось импортировать сам numpy:

import numpy as np

В моем случае все оказалось несколько иначе, достаточно было лишь внимаетльно изучить ошибку с самого начала. Оказалось, что просто в системе не хватает одного пакета, установив который все решилось:

sudo apt-get install libopenblas-dev

Общая инструкция решения проблемы

Описываю для тех, кто устанавливает HA Core по инструкции, для остальных надо незначительно модифицировать под себя

Первое. Убедиться, что активировано виртульное окружение. Строка в терминале должна иметь следующий вид (самое главное чтобы были круглые скобочки):

(homeassistant) homeassistant@raspberrypi:/srv/homeassistant $

Второе. Проверить версию python. Для этого в терминале (с виртуальным окружением) ввести:

python или python3

Результат должен содержать версию python:

Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

Чтобы выйти из python введите

exit()

Третье. Проверить версию numpy. Можно при помощи pip:

pip install numpy

Или при помощи python:

python
...
>>> import numpy as np
>>> np.version.version
'1.26.2'
>>> exit()
...

Четвертое. Если версии python и numpy актуальные (у меня 3.11 и 1.26 соответсвенно), то попробовать переустановить numpy:

pip uninstall -y numpy
pip uninstall -y setuptools
pip install setuptools
pip install numpy

Или

pip uninstall -y numpy
sudo apt install python3-numpy # Надо чтобы пользователь имел права sudo

Если по пути возникли проблемы, то решить их (путем гуглинга).

Повторюсь, в моем случае ошибка возникла на этапе два. То есть numpy был установлен, но импортировать его в среду выполнения было невозможно (import numpy as np). В ошибке значилось название пакета libopenblas, установив который всё решилось:

sudo apt-get install libopenblas-dev

Мои контакты есть на этом сайте, можете задать вопрос, указать на неточности и ошибки

, ,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *