IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques tierces Python Discussion :

ImportError: No module named 'ow' Raspberry PI [Python 3.X]


Sujet :

Bibliothèques tierces Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technique
    Inscrit en
    Avril 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technique

    Informations forums :
    Inscription : Avril 2018
    Messages : 4
    Par défaut ImportError: No module named 'ow' Raspberry PI
    Bonjour,

    Actuellement en phase de test avec owfs, j'aimerais pouvoir commander des capteurs avec owfs en 1-wire. Depuis le terminal j'ai déjà pu lire par exemple sur deux capteurs de température des valeurs correctes, cependant j'aimerais maintenant ajouter du soft pour commander tout cela.

    Jusqu'ici aucun problème sauf la partie soft... Effectivement j'ai besoin d'utiliser la libraire 'ow' pour tester le code que j'ai eu dans un tuto.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    import ow
     
    ow.init('localhost4304')
    for sensor in sensorlist:
         print('Device Found')
         print('Address:' + sensor.address)
         print('Family:' + sensor.family)
         print('ID:' + sensor.id)
         print('Type:' + sensor.type)
         print('')
    Il me semble avoir installer tout se qui devrait être installé pour owfs et je ne comprends pas trop pourquoi il ne veut pas importer la librairie "ow". Si vous avez une idée de comment pourrai-je accéder à cette librairie et même vérifier qu'elle soit bien installée, je suis preneur...

    A savoir que je suis en parallèle en train de faire un menu avec Tkinter par exemple et que j'arrive à l'utiliser sans soucis. Cependant je ne le trouve également pas dans mes fichiers...

    En vous remerciant d'avance pour vos recherches et votre aide.

    Codialement,

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 608
    Par défaut
    Salut,

    Citation Envoyé par Kaiden Voir le message
    Il me semble avoir installer tout se qui devrait être installé pour owfs et je ne comprends pas trop pourquoi il ne veut pas importer la librairie "ow". Si vous avez une idée de comment pourrai-je accéder à cette librairie et même vérifier qu'elle soit bien installer, je suis preneur...
    Déjà vous déclarez utiliser Python3 alors qu'une recherche en diagonale semble dire que cette bibliothèque s'installe sur Python2.
    Si vous l'avez installé correctement, lancez ce script avec Python2 pour voir.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Technique
    Inscrit en
    Avril 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technique

    Informations forums :
    Inscription : Avril 2018
    Messages : 4
    Par défaut
    Salut wiztricks,

    Je vous remercie pour votre réponse rapide.

    Déjà vous déclarez utiliser Python3 alors qu'une recherche en diagonale semble dire que cette bibliothèque s'installe sur Python2.
    Si vous l'avez installé correctement, lancez ce script avec Python2 pour voir.
    Malgré l'incompétence que j'ai à utiliser le Shell, il me semble avoir réussi à exécuter le script, cependant, il m'affiche une erreur.

    Effectivement après avoir "run" le script, j'ai une erreur qui vient qui est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    
    Traceback (most recent call last):
        File "/home/pi/Bureau/test1234.py", line 7, in <module>
           ow.init( 'localhost4304' )
        File "/usr/lib/python2.7/dist-packages/ow/__init__.py, line 224, in init
           raise exNoController
    exNoController


    Suite à cela, j'ai pu aller regarder par le chemin de l'erreur s'il y avait le "ow", c'était le cas. Je suis donc allé sur Python 3.5 pour voir s'il y avait également le fichier ow et par la plus grande des surprises il n'y était pas...

    J'ai regardé également sur google si owfs était compatible avec python3 et apriori c'est ok, dois-je déplacer le dossier ow ou demander à mon IDE de le cherche au bon endroit, c'est à dire dans les fichiers python2.7 ?

    Le gros problème de cette histoire est que j'utilise Tkinter en Python 3 pour faire un affichage et j'aimerais pouvoir contrôler certaines choses depuis cet affichage... Mais si j'ai commencé en python 3, je ne vais pas pouvoir mixer les deux n'es-ce pas ?

    -K

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 608
    Par défaut
    Citation Envoyé par Kaiden Voir le message
    J'ai regardé également sur google si owfs était compatible avec python3 et apriori c'est ok, dois-je déplacer le dossier ow ou demander à mon IDE de le cherche au bon endroit, c'est à dire dans les fichiers python2.7 ?
    owfs n'a rien à faire de Python.
    Par contre, il faut un "python3-ow" (à la place d'un python-ow) dans la distro. Linux... ou installer quelque chose via "pip" suivant python3 -m pip install machin (mais je ne sais pas par quoi remplacer "machin") pour que le programmeur Python3 puisse accéder aux fonctionnalités d'owfs.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Technique
    Inscrit en
    Avril 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technique

    Informations forums :
    Inscription : Avril 2018
    Messages : 4
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Par contre, il faut un "python3-ow" (à la place d'un python-ow) dans la distro. Linux... ou installer quelque chose via "pip" suivant python3 -m pip install machin (mais je ne sais pas par quoi remplacer "machin") pour que le programmeur Python3 puisse accéder aux fonctionnalités d'owfs.

    - W
    Je vois... fondamentalement, pour que je puisse régler mon problème il faudrait que je puisse remplacer "machin".

    De longues heures de recherche n'attendent que moi, si quelqu'un aurait une piste ou un moyen de m'éclairer plus profondément, je garde un oeil sur la page !

    En tout cas merci wiztricks pour votre début de piste.

    -K

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Technique
    Inscrit en
    Avril 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technique

    Informations forums :
    Inscription : Avril 2018
    Messages : 4
    Par défaut Solution
    Bonjour,

    Après avoir contacté ABElectronics, ils m'ont donné une solution qui fonctionne très bien.

    Effectivement, python-ow n'est pas disponible en python3 mais il est accessible via les fichiers. Ils m'ont donc envoyé un code qui permet de faire un appel à un sous-processus pour aller lire la température sur le capteur au travers du système de fichiers.

    Avec le code, il ne faut pas oublier de changer "Sensor1" et mettre votre ID de capteur si non ça ne fonctionnera pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    #!/usr/bin/python
    import os
    import subprocess
    import time
    
    # mount owfs
    subprocess.call(["owfs", "--i2c=ALL:ALL", "--allow_other", "/mnt/1wire/"])
    
    # 1 wire temperature sensors
    Sensor1 = "/mnt/1wire/10.BA7392020800/temperature"
    
    varSensor1Value = 0.0
    
    def get_1wire_sensor(path):
        #
        # Function to read 1-Wire sensors using OWFS
        #
        try:
            f = open(path, "r")
            text = f.readlines()
            f.close()
            return float(text[0]) + 3
        except:
            print("getwiretemp failed")
        return 88
    
    while (True):
        varSensor1Value = get_1wire_sensor(Sensor1)
        print(varSensor1Value)
        time.sleep(1)
    J'ai mis en gras souligné la partie qu'il ne faut pas oublier de changer.

    Merci wiztricks pour votre temps, en espérant que cela pour servir à quelqu'un.

    Cordialement,

    -K

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ImportError: No module named libnetmd
    Par dubis dans le forum Bibliothèques tierces
    Réponses: 3
    Dernier message: 22/08/2011, 13h32
  2. ImportError: No module named util
    Par ikuzar dans le forum Interfaçage autre langage
    Réponses: 6
    Dernier message: 23/03/2011, 08h23
  3. ImportError: No module named PyQt4
    Par Sephiroth Lune dans le forum PyQt
    Réponses: 31
    Dernier message: 22/03/2011, 10h03
  4. reload() génère un "ImportError: No module named"
    Par ProgVal dans le forum Général Python
    Réponses: 0
    Dernier message: 13/05/2010, 15h03
  5. ImportError: No module named _md5
    Par kedare dans le forum Général Python
    Réponses: 3
    Dernier message: 25/07/2007, 22h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo