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

Python Discussion :

[Python 2.7] ImportError: no module name


Sujet :

Python

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Novembre 2013
    Messages : 159
    Points : 52
    Points
    52
    Par défaut [Python 2.7] ImportError: no module name
    Bonjour je rencontre un problème sous mac.

    Ci-joint le problème rencontré. Je ne crois pas avoir eu le problème sous centos pourtant ...

    Nom : Capture d’écran 2017-05-07 à 14.09.51.png
Affichages : 3253
Taille : 369,4 Ko

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Au vu de l'arborescence, ce serait plutot: from utils.debugger import printer.

    Personnellement je n'appellerais pas mon script __main__.py. __main__ est un terme reconnu par Python.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Novembre 2013
    Messages : 159
    Points : 52
    Points
    52
    Par défaut
    Bonjour merci pour ta réponse.
    J'utilise le __main__ uniquement pour appeler mon programme principal.

    Il me permettra notamment d'exécuter mon package par la suite python -m monpackage

    Pour from.utils ce serait pas le cas si je mettais notamment le nom du projet dans le path ?

    Si tu as une idée pour mon erreur principale en tous cas ...

    Par ailleurs mon code marche bien sur CentOS cela m'étonne...

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Il n'y a pas de raison d'utiliser "from gestEnv" qui est le dossier parent de l'ensemble de ton code.

    To scrip principal devrait se trouver au même niveau que les sous-dossiers du programme, pas dans le dossier view

    En plus quand je vois:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    from ...... import printer
    if __name__ == '__main__':
        printer('__main__.py')
    je soupçonne un montage "pas clair"

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Novembre 2013
    Messages : 159
    Points : 52
    Points
    52
    Par défaut
    Non j'ai réalisé mes briques sur CentOS et je ne comprends pas pourquoi depuis mon mac ca ne marche pas. Dans mon dossier view je n'ai absolument rien. Tu peux d'ailleurs le voir le dossier est replié.

    Dans mon arborescence j'ai mon dossier principal gestEnv ou on trouve __init__ et __main__

    dans mon __init__ j'appel ma classe main qui se trouve dans le dossier controller.

    Nom : Capture d’écran 2017-05-07 à 16.07.24.png
Affichages : 3213
Taille : 411,4 Ko

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Novembre 2013
    Messages : 159
    Points : 52
    Points
    52
    Par défaut
    Bon je suis repartis voir pourquoi ca marchait sur ma vm centOS et j'ai trouvé une piste.

    Il s'agit de mon setup qui me génère une librairie.

    Alors quel est la syntaxe appropriée ? (bien compris pour mon printer mais pour la fonction de mon __init__

    Nom : Capture d’écran 2017-05-07 à 16.47.22.png
Affichages : 3292
Taille : 555,5 Ko

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Novembre 2013
    Messages : 159
    Points : 52
    Points
    52
    Par défaut
    Bon, j'ai peut être trouvé ma solution. Je n'ai pas de bonnes pratiques en python et cette solution n'est peut être pas la bonne...

    Au lieu de faire import GestEnv je peux uniquement faire from __init__ import main.

    Par contre je ne sais pas du tout si c'est une solution correcte.

  8. #8
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Oui et, heu ... c'est ce que je t'ai conseillé dans mon premier post.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Novembre 2013
    Messages : 159
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Salut,

    Au vu de l'arborescence, ce serait plutot: from utils.debugger import printer.

    Personnellement je n'appellerais pas mon script __main__.py. __main__ est un terme reconnu par Python.
    Dans ton premier post tu m'as en effet éclaircis sur le printer mais je n'avais pas compris pour le __init__ qu'on pouvait l'appeler de la même manière...


    Merci pour ton aide problème résolu du coup

Discussions similaires

  1. Python 3.4 => ImportError: no module named configParser
    Par PythonNovices dans le forum Général Python
    Réponses: 6
    Dernier message: 18/05/2015, 14h45
  2. ImportError: No module named util
    Par ikuzar dans le forum Interfaçage autre langage
    Réponses: 6
    Dernier message: 23/03/2011, 07h23
  3. ImportError: No module named PyQt4
    Par Sephiroth Lune dans le forum PyQt
    Réponses: 31
    Dernier message: 22/03/2011, 09h03
  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, 14h03
  5. ImportError: No module named _md5
    Par kedare dans le forum Général Python
    Réponses: 3
    Dernier message: 25/07/2007, 21h33

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