对树莓派上的Adafruit库问题进行故障排除

时间:2018-07-13 18:34:35

标签: python raspberry-pi adafruit

我试图编写一个脚本,该脚本会将dht 11传感器数据输出到.txt文件中。 我查看了为Adafruit库指定的standard examples

我的代码:

import time
import Adafruit_DHT


# infinite while loop

while True:

    sensor = Adafruit_DHT.DHT11
    pin = 4

    humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)

    if humidity is not None and temperature is not None:
        print('Temp={0:0.1f}*  Humidity{1:0.1f}%'.format(temperature,humidity))
    else:
        print('Failed to get reading. Try again!')

    time.sleep(5)

当我使用Thonny IDE运行它时,出现以下错误消息:

Traceback (most recent call last):
  File "/home/pi/Downloads/Sensor1/Adafruit_Python_DHT/examples/simpletest2loop.py", line 5, in <module>
import Adafruit_DHT
ImportError: No module named 'Adafruit_DHT'

我可以使用以下命令从终端读取传感器:

sudo ./AdafruitDHT.py 11 4

并在https://tutorials-raspberrypi.com/raspberry-pi-measure-humidity-temperature-dht11-dht22/

中列出了另一个脚本

我做了一些研究,但我无法弄清楚,请问是否有人可以帮助我解决问题。

研究:

-GPIO Error on Raspberry Pi when following Adafruit Tutorial

pi @ raspberrypi:〜/下载/ Sensor1 / Adafruit_Python_DHT / examples $ ls -altr     总共28

-rw-r--r--  1 pi pi 2035 Jul  5 15:28 simpletest.py
-rwxr-xr-x  1 pi pi 5715 Jul  5 15:28 google_spreadsheet.py
drwxr-xr-x 10 pi pi 4096 Jul  5 15:28 ..
-rwxr-xr-x  1 pi pi 2340 Jul  6 13:19 AdafruitDHT.py
drwxr-xr-x  2 pi pi 4096 Jul 13 14:08 .
-rwxrwxrwx  1 pi pi 1037 Jul 13 14:19 simpletest2loop.py <code>

似乎它们属于同一用户和组。我是否需要将库复制到某个文件夹?

1 个答案:

答案 0 :(得分:0)

如果找不到Python模块,最好的解决方法是检查:

  • a)Python所处的位置,
  • b)您的模块在哪里。

因此,如果您想检查Python在哪里,可以运行以下命令:

python3 -c "import sys; print(','.join(sys.path))"

示例输出

/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python36.zip
/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6
/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload
/usr/local/lib/python3.6/site-packages
/usr/local/Cellar/numpy/1.14.3_1/libexec/nose/lib/python3.6/site-packages

然后确保您的模块位于其中一个位置,或添加到PYTHONPATH中,以使其包括您安装模块的位置。


如果您以root身份运行脚本,则还应该以{{1​​}}身份运行上面的代码。