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, выберите "Да".