Python 树莓皮上Adafruit库问题的疑难解答
我试图编写一个脚本,将dht 11传感器数据输出到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
.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
使用中列出的另一个脚本:
我做了一些研究,但我不明白,我恳请有人能帮我解决这个问题
研究:
- 我试着移动文件,但还是不行
-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) 模块所在的位置
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