好的,我正在用导入到我程序中的pi2go.py为机器人编程。我在Raspberry pi(LinuxRaspberrypi4.1.19-v7+)上运行LinuxDebian。Pi2go导入导入smbus的pca9685.py。首先,我的系统上没有安装smbus,所以我得到了一个用于python的smbus cffi包。好的,现在我将smbus目录复制到与我的文件相同的目录,然后在安装之后,python说我正在尝试获取一个相对的包,就像我不记得错误一样,但是这样做的话,好的,我从smbus添加到导入smbus的import语句中:
这是pca9685.py:(我只更改了import语句,所以这只是其中的一部分):

#!/usr/bin/python
#
# PCA9685 Library
# Purely used for Pi2Go, so not as flexible as other libraries
#
# Created by Gareth Davies, Feb 2016
# Copyright 4tronix
#
# This code is in the public domain and may be freely copied and used
# No warranty is provided or implied
#
#======================================================================
from smbus import smbus, time
bus = smbus.SMBus(1)

PCA = 0x40    # Fixed I2C Address of PC9685
SERVOS = 6+48
RED = 14
GREEN = 10
and program continues...

然后,我尝试再次运行我的程序,但出现了一个错误,该错误表示:
   Traceback (most recent call last):
  File "linetest.py", line 1, in <module>
    import pi2go
  File "/home/pi/pi2go/pi2go.py", line 121, in <module>
    import pca9685
  File "/home/pi/pi2go/pca9685.py", line 14, in <module>
    from smbus import smbus, time
  File "/home/pi/pi2go/smbus/__init__.py", line 1, in <module>
    from .smbus import ffi
  File "/home/pi/pi2go/smbus/smbus.py", line 35, in <module>
    from ._smbus_cffi import ffi
ImportError: No module named _smbus_cffi

这些都是我文件夹里的东西:
__about__.py  lightTest.py  pca9685.pyc      smbus         switchTest.py
beebot1.py    linetest.py   pi2go.py         smbuscffi     testLEDs.py
beebot.py     lineTest.py   pi2go.pyc        smbus-cffi    util.py
__init__.py   liteTest.py   servod           smbus.py
IRTest.py     motorTest.py  servoTest.py     smbus.pyc
LEDTest.py    pca9685.py    sgh_PCF8591P.py  sonarTest.py

所以,问题是,我这样做是完全错误的,还是我从哪里得到这个模块?我到处都找过这个cffi模块

最佳答案

嗯,看来我用错了包裹。
以下是我所做的:
我遵循了本网站上的说明:
下面是这些命令:https://www.raspberrypi.org/forums/viewtopic.php?f=32&t=99980
然后我用python运行了代码。
就这些!我不知道我需要什么,所以这成了一个大问题!但是,修复起来很简单。

关于python - ImportError:没有名为_smbus_cffi的模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37693459/

10-11 18:22