Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 树莓皮上Adafruit库问题的疑难解答_Python_Raspberry Pi_Adafruit - Fatal编程技术网

Python 树莓皮上Adafruit库问题的疑难解答

Python 树莓皮上Adafruit库问题的疑难解答,python,raspberry-pi,adafruit,Python,Raspberry Pi,Adafruit,我试图编写一个脚本,将dht 11传感器数据输出到.txt文件。 我复习了Adafruit图书馆的文献 我的代码: 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 humi

我试图编写一个脚本,将dht 11传感器数据输出到
.txt
文件。 我复习了Adafruit图书馆的文献

我的代码:

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运行时,会收到以下错误消息:

回溯(最近一次呼叫最后一次):
文件“/home/pi/Downloads/Sensor1/Adafruit_Python_DHT/examples/simpletest2loop.py”,第5行,在
进口Adafruit_DHT
导入错误:没有名为“Adafruit_DHT”的模块
我能够使用以下命令从终端读取传感器:

sudo ./AdafruitDHT.py 11 4
使用中列出的另一个脚本:

我做了一些研究,但我不明白,我恳请有人能帮我解决这个问题

研究:

  • 我试着移动文件,但还是不行

- pi@raspberrypi:~/Downloads/Sensor1/Adafruit\u Python\u 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>

看起来他们在同一个用户和组下。我必须将库复制到某个文件夹吗

如果您在查找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
身份运行脚本,则还应以
root

身份运行上述代码,以便root用户可以导入模块,但不能在IDE中导入。我猜您可能只是为root用户安装了模块,或者您和root用户有不同的Python设置和/或环境变量。我检查了它们是否在同一用户和组下adafruitdht.py!=Adafruit_DHT.py,IMHO