python 3.7 импорт smbus ModuleNotFoundError нет модуля с именем smbus

Я успешно построил Python 3.7 на моем Raspberry Pi ноль. Теперь, когда я запускаю свою программу, используя:

python3 DungeonCube.py

Я получаю следующую ошибку:

import smbus
ModuleFoundError: No module named 'smbus'

Я искал решения, и кажется, что никто не зашел так далеко с Python 3.7 на Raspberry Pi. другие руководства говорят, чтобы переустановить smbus или установить smbus2, и это не работает.

dpkg-query -L python3-smbus показывает:

/.
/usr
/usr/lib
/usr/lib/python3
/usr/lib/python3/dist-packages
/usr/lib/python3/dist-packages/smbus.cpython-35m-arm- 
linux-gnueabihf.so
/usr/share
/usr/share/doc
/usr/share/doc/python3-smbus
/usr/share/doc/python3-smbus/changelog.Debian.gz
/usr/share/doc/python3-smbus/changelog.gz
/usr/share/doc/python3-smbus/copyright

apt-cache show python3-smbus показывает:

Package: python3-smbus
Version: 3.1.2-3
Architecture: armhf
Maintainer: Aurelien Jarno <aurel32@debian.org>
Installed-Size: 31
Depends: libc6 (>=2.4), python3 (<< 3.6), python3 (>= 
3.5~), python3:any (>= 3.0~)
Recommends: i2c-tools
Provides: python3.5-smbus
.
.
.

Есть идеи, как заставить это работать?

Гарри О.

2 ответа

Решение

Библиотека python3-smbus, которая установлена ​​в вашей системе, кажется немного устаревшей. Это работает для Python 3.5, но не для Python 3.7.

У вас есть два решения:

  • понизить ваш Python для использования Python 3.5
  • выберите другую библиотеку: вы можете попробовать smbus2, которая является более современной.

У меня нет RPi для тестирования этого, но когда я был в HackerSpace, я также построил Python на R-Pi. Я столкнулся с той же самой проблемой и нашел решение, которое может работать на вас. Вам нужно будет открыть файл конфигурации: "sudo nano /boot/config.txt" и добавить строку "dtparam=i2c_arm=on" после того, как вы сохраните его, запустив "sudo raspi-config". Под расширенными настройками вы найдете 7l2c, выберите "Да".

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