3

我正在使用 Raspberry Pi 零 W 连接 Adafruit 的 DHT11 传感器。在设置我的 Raspberry Pi 时,我尝试安装 miniconda3 来管理我的 python 包。不知何故,我无法安装 miniconda3(我猜 Raspberry Pi Zero W 不支持 miniconda3)。但是,我设法安装了 berryconda3。为了从我的传感器读取数据,我安装了 Adafruit_DHT 库(在 python2 和 python3 中)。我能够在 python2 中从我的传感器读取数据,但我无法在 python3 中读取它。导入库时

import Adafruit_DHT

它总是显示以下错误消息:没有名为“Adafruit_DHT”的模块。

对于 python3 中的安装,我从 github.com/adafruit/Adafruit_Python_DHT 下载了 Adafruit_Python_DHT 库,将其复制到我的树莓派并使用 sudo python3 setup.py install --force-pi 安装它。当我尝试使用 pip3 install Adafruit_DHT 安装它时,控制台会回复:pip3:找不到命令。使用 pip install Adafruit_DHT 时,控制台回复:“收集 Adafruit_DHT 找不到满足 Adafruit_DHT 要求的版本(来自版本:)找不到 Adafruit_DHT 的匹配分发”

当我尝试找到该库时,我发现了以下三个应该安装模块的潜在位置:

~/berryconda3/lib/python3.6/ --> 在这个位置没有 Adafruit 目录

/usr/local/lib/python3.5/dist-packages --> 目录 Adafruit_DHT-1.3.2-py3.5-linux-armv61.egg

/usr/local/lib/python2.7/dist-packages --> 目录 Adafruit_DHT-1.3.2-py2.7-linux-armv61.egg

python3返回以下信息的命令:

/home/pi/berryconda3/bin/python3

在 /home/pi/berryconda3/bin/python3 中运行命令 pip3 freeze 时它不起作用(回复:-bash: pip3: command not found)。但是 pip freeze 有效。我在 /home/pi/berryconda3/bin 中运行命令,它得到了一个包含我安装的所有其他库的列表(这里列出的那些库都在我的脚本中工作)。但 Adafruit_DHT 未列出。

我猜问题如下:调用 python2 时,脚本在文件夹 /usr/local/lib/python2.7/dist-packages 中查找 Adafruit_DHT 库并可以找到它。当我调用 python3 时,脚本正在文件夹 ~/berryconda3/lib/python3.6 中查找 Adafruit_DHT 库(因为我安装了 berryconda3)。它会在 /usr/local/lib/python3.5/dist-packages 中查找它应该能够找到它。

现在的问题是如何将软件包安装在 /home/pi/berryconda3/bin/python3 中?

我试图将 Adafruit_DHT-1.3.2-py3.5-linux-armv61.egg 从 /usr/local/lib/python3.5/dist-packages 复制到 ~/berryconda3/lib/python3.6/

sudo mv Adafruit_DHT-1.3.2-py3.5-linux-armv6l.egg  ~/berryconda3/lib/python3.6/Adafruit_DHT-1.3.2-py3.5-linux-armv61.egg

复制它后,我仍然得到同样的错误。

我还尝试使用以下命令安装从 github 下载的包 Adafruit_Python_DHT:

sudo python3 setup.py install --install scripts=~/berryconda3/bin/lib/python3.6/site-packages

安装成功运行,但我的脚本仍然找不到库。

如果我尝试在 ~/berryconda3/bin 中运行“pip install Adafruit_Python_DHT”,则输出为:Collecting Adafruit_Python_DHT Using cached Adafruit_Python_DHT-1.1.2.tar.gz Complete output from command python setup.py egg_info: [....] import platform_detect ModuleNotFoundError:没有名为“platform_detect”的模块。根据在这里找到的帖子: https ://github.com/adafruit/Adafruit_Python_DHT/pull/67,pip中列出的 Adafruit_Python_DHT 库还不能工作。所以这似乎是我无法用 pip 安装它的原因......

我花了至少 10 个小时在网上寻找解决方案,并按照许多网站上的建议使用 python3 卸载并重新安装了 Adafruit 库,但它仍然无法正常工作。任何想法?

4

2 回答 2

1

我遇到了麻烦,并试图在这里找到答案。我最终使用命令 python3 而不是 python 并且它不再停止在命令“import Adafruit_DHT”

于 2019-04-25T20:23:02.853 回答
0

下载 git 仓库后https://github.com/adafruit/Adafruit_Python_DHT

我必须先进入 Adafruit_Python_DHT 然后 python setup.py install

第 1 步:克隆 Adafruit https://github.com/adafruit/Adafruit_Python_DHT

Step2:进入Adafruit_Python_DHT目录 cd Adafruit_Python_DHT

第 3 步(在命令行下方添加)python setup.py install

于 2018-08-14T16:29:40.820 回答