Sid*_*411 8 python mqtt docker paho
我正在创建一个包含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
Run Code Online (Sandbox Code Playgroud)
但是,当我运行python脚本时,我收到以下错误:
ImportError: No module named paho.mqtt.client
Run Code Online (Sandbox Code Playgroud)
docker安装没有显示有关paho-mqtt安装的任何错误.如果有人可以指导这一点,那就太棒了.
Edd*_*die 16
我想我找到了问题,
您已经安装Python3但由于某种原因,解释器在Linux中默认为2.7版.
请尝试使用pip3 install paho-mqtt python-etcd.
或者,如果它不起作用,您可以将paho文件Python2.7 site-packages夹中的Python3 site-packages文件夹复制并粘贴到文件夹中.我刚才已经证实paho-mqtt 1.2为Python2是完全一样paho-mqtt 1.2的Python3使用Meld比较工具.请注意,当您直接复制并粘贴时,pip list将不会显示您复制的包.
site-packages通常在您的系统lib文件夹中.这取决于Python安装方式.在我的情况下,一切都在$HOME/.pyenv文件夹内.
记得Python2有它自己的site-packages文件夹,并Python3有自己的site-packages文件夹Python搜索包.有时,如果您使用的是Debian基于Linux的发行版,请务必检查dist-packages文件夹内部以查看是否可以找到您要查找的软件包.
| 归档时间: |
|
| 查看次数: |
33925 次 |
| 最近记录: |