Erreur d'importation: l'ops.mqtt.le client ne trouve pas
Je suis entrain de créer un menu fixe contenant python et php. Je suis en train d'écrire un script python pour se connecter à un MQTT courtier en résidant dans un autre menu fixe.
Dans mon dockerfile-je m'assurer que j'ai installer le ops client en utilisant les commandes suivantes:
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
Cependant quand je lance le script python, j'obtiens l'erreur suivante:
ImportError: No module named paho.mqtt.client
Le panneau d'installation n'affiche pas d'erreur en ce qui concerne l'ops-mqtt de l'installation.
Il sera grand si quelqu'un peut sur ce guide.
Vous semblez pour l'installer via python3 — êtes-vous sûr de regarder python3?
Avez-vous eu des avertissements l'installation de
J'ai essayé avec python 2.7, mais maintenant, le script ne semble même pas s'exécuter. Dois-je joindre mon Dockerfile?
Non, je ne pas faire d'erreur ou d'avertissement lors de l'ops mqtt de l'installation.
Je pense que
Avez-vous eu des avertissements l'installation de
paho-mqtt
? Pouvez-vous trouver paho mqtt
en vous pip list
?J'ai essayé avec python 2.7, mais maintenant, le script ne semble même pas s'exécuter. Dois-je joindre mon Dockerfile?
Non, je ne pas faire d'erreur ou d'avertissement lors de l'ops mqtt de l'installation.
Je pense que
mqtt
n'est pas installé correctement. Pourriez-vous vérifier à partir de la pip list
commande? Qu'obtenez-vous lorsque vous exécutez le python --version
commande? Je peux les installer et de les importer sans problème en Python 3.6.OriginalL'auteur Sid411 | 2017-01-05
Vous devez vous connecter pour publier un commentaire.
Je pense avoir trouvé le problème,
Vous avez installé
Python3
mais pour une raison que l'interprète par défaut à la version 2.7 de Linux.Essayez d'utiliser
pip3 install paho-mqtt python-etcd
à la place.Ou si elle ne fonctionne pas, vous pouvez simplement copier et coller le
paho
dossier à partir de votrePython2.7
site-packages
dossier à votrePython3
site-packages
dossier. Je viens de vérifiépaho-mqtt 1.2
pourPython2
est exactement le même quepaho-mqtt 1.2
pourPython3
à l'aide d'unMeld
outil de comparaison. Veuillez noter que lorsque vous directement copier et collerpip list
n'affiche pas le package que vous avez copié.site-packages
sont généralement à l'intérieur de votre systèmelib
dossier. Il dépend de la façon dontPython
est installé. Dans mon cas, tout est à l'intérieur de$HOME/.pyenv
dossier.Rappelez-vous
Python2
a sa propresite-packages
dossier etPython3
a sa propresite-packages
dossier oùPython
recherches pour les packages. Parfois, si vous utilisez unDebian
Linux distro assurez-vous de vérifier à l'intérieur de ladist-packages
dossier pour voir si vous pouvez trouver le paquet vous êtes à la recherche pour.Ils sont essentiellement la même chose. Je ne sais pas pourquoi, mais la Debian package gestionnaires de l'amour à utiliser
dist-packages
à la place.Merci beaucoup. Le copier coller fonctionne. Il ne donne pas cette erreur.
Im heureux, il a aidé. S'il vous plaît être conscient qu'il n'est pas
pip
amical pour copiez et collez manuellement.OriginalL'auteur Eddie