导入错误:找不到paho.mqtt.client
我正在创build一个包含python和php的docker。 我正在编写一个python脚本来连接到驻留在另一个docker中的MQTT代理。
在我的dockerfile中,我确保使用以下命令来安装paho客户端:
RUN apt-get install -y python3-dev RUN apt-get install -y libffi-dev RUN apt-get install -y libssl-dev ADD https://bootstrap.pypa.io/get-pip.py /tmp/get-pip.py RUN cat /tmp/get-pip.py | python3 RUN pip install paho-mqtt RUN pip install python-etcd
但是,当我运行python脚本,我得到以下错误:
ImportError: No module named paho.mqtt.client
docker安装不会显示有关paho-mqtt安装的任何错误。 如果有人能指导,这将是非常好的。
我想我已经find了问题,
你已经安装了Python3
但由于某种原因,解释器在Linux中默认为2.7版本。
尝试使用pip3 install paho-mqtt python-etcd
来代替。
或者,如果它不起作用,你可以从你的Python2.7
site-packages
文件夹中复制和粘贴paho
文件夹到你的Python3
site-packages
文件夹。 我刚刚validation了paho-mqtt 1.2
paho-mqtt 1.2
与使用Meld
diff工具的paho-mqtt 1.2
Python3
。 请注意,当您直接复制并粘贴pip list
将不会显示您复制的软件包。
site-packages
通常在您的系统lib
文件夹。 这取决于如何安装Python
。 在我的情况下,一切都在$HOME/.pyenv
文件夹内。
记得Python2
有它自己的site-packages
文件夹, Python3
有它自己的site-packages
文件夹,在Python
文件夹中search包。 有时,如果您使用的是基于Debian
的Linux发行版,请确保在dist-packages
文件夹中查看是否可以find您要查找的软件包。