python 3.7 import smbus ModuleNotFoundError 没有名为“smbus”的模块

Gar*_*rne 3 python python-import raspberry-pi smbus

我在我的树莓派零上成功构建了 python 3.7。现在当我使用以下命令运行我的程序时:

python3 DungeonCube.py

我收到以下错误:

import smbus
ModuleFoundError: No module named 'smbus'
Run Code Online (Sandbox Code Playgroud)

我一直在寻找解决方案,似乎没有人在树莓派上使用 python 3.7 做到这一点。其他指南说重新安装 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
Run Code Online (Sandbox Code Playgroud)

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
.
.
.
Run Code Online (Sandbox Code Playgroud)

有什么想法如何让它发挥作用吗?

加里·奥.

Lau*_*RTE 6

您系统上安装的 python3-smbus 库似乎有点旧。它适用于 Python 3.5,但不适用于 Python 3.7。

您有两种解决方案:

  • 将 Python 降级以使用 Python 3.5
  • 选择另一个库:您可以尝试更新的smbus2 。