Raspberry Pi Python程序第一行错误/ Python库错误

时间:2014-05-11 10:33:50

标签: python python-2.7 raspberry-pi

该计划的前两行是:

from i2clibraries import i2c_lcd
from ABElectronics_ADCPi import ADCPi

当我尝试在Python或Python 3下运行它时,无论先行是什么,Pi都会返回错误。所有库都被拥有并注册。使用shell命令可以正确显示导出工作正常的检查。但是,第1行的任何行都将返回丢失的模块错误,并且i2clibraries将始终返回缺少的模块错误。通过将其保持为第一行,我在运行中获得的错误最少,但程序仍然返回:

pi@raspberrypi ~ $ sudo python file.py
Traceback (most recent call last):
File "file.py", line 1, in <module>
from i2clibraries import i2c_lcd
File "/home/pi/i2clibraries/i2c_lcd.py", line 1, in <module>
from i2clibraries import i2c
File "/home/pi/i2clibraries/i2c.py", line 1, in <module>
from quick2wire.i2c import I2CMaster, writing_bytes, reading
ImportError: No module named quick2wire.i2c

鉴于错误,有哪些可能的解决方案可以阻止第一行无法找到其模块?

1 个答案:

答案 0 :(得分:0)

问题

错误消息告诉您,当您尝试导入i2clibraries模块时,在导入本身时无法找到所需的导入(依赖项)。具体来说,这是i2c.py文件的第一行 - 行

from quick2wire.i2c import I2CMaster, writing_bytes, reading

失败了。

问题几乎肯定是你的模块不在Python module search path上。如果您需要,可在此答案的最后给出更多相关信息。

解决方案

有很多方法可以解决这个问题。一个recommended by the developers of the module

  

要在不安装的情况下使用库,请添加完整路径   源树到PYTHONPATH环境变量。例如:

export QUICK2WIRE_API_HOME=[the directory cloned from Git or unpacked from the source archive]
export PYTHONPATH=$PYTHONPATH:$QUICK2WIRE_API_HOME

因此,您需要知道quick2wire库的安装位置 - 从您的错误消息中,我会猜测它们位于/home/pi/i2clibraries/,因此$QUICK2WIRE_API_HOME=/home/pi/i2clibraries/应该是您的第一个以上一对的线。

更多信息

您可以更全面地阅读有关如何在Python 2.x on the Python website上安装模块的信息。您可以通过访问交互式Python提示符(即键入python)然后执行操作来查看构成模块搜索路径的路径。

>>> import sys
>>> sys.path

这将输出一个列表,其中包含表示将搜索模块的所有路径的字符串。