繁体   English   中英

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

[英]Raspberry Pi Python Program First Line Error/Python Library Error

该程序的前两行是:

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

给定错误,有什么可能的解决方案来阻止第一行无法找到其模块?

问题

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

from quick2wire.i2c import I2CMaster, writing_bytes, reading

失败了。

问题几乎可以肯定是您的模块不在Python模块搜索路径中 如果需要,在此答案的末尾会提供有关此内容的更多信息。

有多种解决方法。 模块的开发人员推荐的一种是

要在不进行安装的情况下使用该库,请将源树的完整路径添加到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网站上更全面地了解如何在Python 2.x 安装模块。 您可以通过转到交互式Python提示符(即键入python )然后执行操作来查看构成模块搜索路径的路径。

>>> import sys
>>> sys.path

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM