首页 > 解决方案 > python 3.7 导入 smbus ModuleNotFoundError 没有名为“smbus”的模块

问题描述

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

python3 DungeonCube.py

我收到以下错误:

import smbus
ModuleFoundError: No module named 'smbus'

我已经搜索了解决方案,似乎没有人在树莓派上使用 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

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
.
.
.

任何想法如何让这个工作?

加里·O。

标签: pythonraspberry-pipython-importsmbus

解决方案


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

你有两个解决方案:

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

推荐阅读