Библиотека Adafruit raspberry-pi neopixel выдает ошибку ImportError: нет модуля с именем _rpi_ws281x

Я столкнулся с этой проблемой, следуя руководству Adafruit Neopixel: https://learn.adafruit.com/neopixels-on-raspberry-pi/python-usage

Я дважды проверил наличие всех установленных требований, но все равно получил ошибку:

ImportError: нет модуля с именем _rpi_ws281x

Мне потребовалось довольно много времени, чтобы собрать решение воедино, поэтому я хотел задокументировать его здесь. Смотрите ответ ниже.


person d-vine    schedule 29.10.2018    source источник


Ответы (2)


Решение состоит в том, чтобы пересобрать и переустановить библиотеку rpi_ws281x из исходного кода (как предлагается в различных проблемах github, например, https://github.com/jgarff/rpi_ws281x/issues/225)

Давайте пройдемся по этому:

Я предполагаю, что вы следовали руководству Adafruit Neopixel и установили все необходимые материалы для python3, особенно инструменты установки.

Нам понадобится пара дополнительных зависимостей, установленных на вашем пи для сборки библиотеки.

sudo apt-get установить python-dev git scons swig

Клонируйте репозиторий rpi_ws281x

git clone https://github.com/jgarff/rpi_ws281x.git

и перейдите в каталог rpi_ws281x

компакт-диск rpi_ws281x

Далее давайте создадим библиотеку C

судо scons

Теперь перейдите в каталог python библиотеки.

компакт-диск питон

Создайте модуль python (не забудьте использовать python3)

сборка sudo python3 setup.py

И установить его

установка sudo python3 setup.py

Вот и все! Ошибка должна исчезнуть.

person d-vine    schedule 29.10.2018
comment
На этом этапе я получаю следующую ошибку: ImportError: cannot import name 'log' from 'distutils' - person nikc; 19.01.2021

Я проходил тот же учебник, что и вы, однако мне пришлось удалить и переустановить rpi_ws281x, чтобы заставить его работать.

sudo pip3 uninstall rpi_ws281x

sudo pip3 install rpi_ws281x

Увидев, что вы специально используете python3, я подсказал мне использовать pip3...

person John Foutch    schedule 10.10.2020