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

Déploiement/Installation Python Discussion :

Pb Cx_Freeze : No module named 'GC_package'


Sujet :

Déploiement/Installation Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Mai 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2011
    Messages : 25
    Points : 20
    Points
    20
    Par défaut Pb Cx_Freeze : No module named 'GC_package'
    Bonjour à tous,

    Je tente de créer un exécutable à l'aide de CX_Freeze.
    Mon source menu_gen.py est dans le répertoire c:\python33.
    Dans le dossier GC_package, j'ai placé les packages suivants :
    - __ini__
    - menu.py
    - fonctions enregistrement.py
    - maintenance_concours.py
    - maintenance_inscriptions.py
    - maintenance_parties.py
    - maintenance_societe.py
    - maintenance_tirage.py

    J'utilise le setup.py suivant :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    # -*- coding: utf-8 -*-
    import sys, os
    from cx_Freeze import setup, Executable
     
    ###############################################
    # preparation des options 
    path = sys.path.append(os.path.join("..", "..", "c:\python33", "c:\python33\GC_package"))
    includes = []
    excludes = []
    packages = ["__ini__","menu","fonctions","enregistrement","maintenance_concours","maintenance_inscriptions",
                "maintenance_parties","maintenance_societe","maintenance_tirage"]
     
    options = {"path": path,
               "includes": includes,
               "excludes": excludes,
               "packages": packages
               }
     
    ###############################################
    # preparation des cibles
    base = None
    if sys.platform == "win32":
        base = "Win32GUI"
     
    cible_1 = Executable(
        script = "menu_gen.py",
        base = base,
        compress = True,
        icon = None,
        targetName='Win_GC.exe'
        )
     
    #################################################
    # creation du setup
    setup(
        name = "Win_Sport_Boules",
        version = "0.1",
        description = "Win_GC : Gestion d'un concours de boules",
        author = "Zevulko",
        options = {"build_exe": options},
        executables = [cible_1]
        )
    Quand j'exécute l'exe, j'ai le message suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    No module named 'GC_pachage'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File "menu_gen.py", line 8, in <module>
    menu_gen.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ##################################################################
    #  Menu général du logiciel de gestion d'un concours de boules   #
    ##################################################################
    # -*- coding: iso-8859-15 -*-
    from tkinter      import *
    from PIL          import Image,ImageTk
    from tkinter.ttk  import *  
    from GC_package.menu import *
    from GC_package.fonctions import *
    import sqlite3
    Quelqu'un pourrait-il me dépanner?
    D'avance, merci
    Images attachées Images attachées  

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    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 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Salut,

    En Python un package se traduit par un répertoire contenant un fichier/script __init__.py.
    Les autres fichiers .py du répertoire sont des "modules".

    Ecrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    packages = [ 'GC_package' ]
    devrait suffire mais rien du tout devrait marcher aussi.

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

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Mai 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2011
    Messages : 25
    Points : 20
    Points
    20
    Par défaut
    Merci wiztricks,

    J'ai modifié mon setup.py d'après tes préconisations.
    ça donne ceci :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    # -*- coding: utf-8 -*-
    import sys, os
    from cx_Freeze import setup, Executable
     
    #############################################################################
    # preparation des options 
    path = sys.path.append(os.path.join("..", "..", "c:\python33", "c:\python33\GC_package"))
    includes = ["__ini__","menu","fonctions","enregistrement","maintenance_concours","maintenance_inscriptions",
                "maintenance_parties","maintenance_societe","maintenance_tirage"]
    excludes = []
    packages = [ 'GC_package' ]
    options = {"path": path,
               "includes": includes,
               "excludes": excludes,
               "packages": packages
               }
     
    #############################################################################
    # preparation des cibles
    base = None
    if sys.platform == "win32":
        base = "Win32GUI"
     
    cible_1 = Executable(
        script = "menu_gen.py",
        base = base,
        compress = True,
        icon = None,
        targetName='Win_GC.exe'
        )
     
    #############################################################################
    # creation du setup
    setup(
        name = "Win_Sport_Boules",
        version = "0.1",
        description = "Win_GC : Gestion d'un concours de boules",
        author = "Zevulko",
        options = {"build_exe": options},
        executables = [cible_1]
        )
    Là, le build se plante (cf pièce jointe)

    J'ai remplacé la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    packages = [ 'GC_package' ]
    par

    et là, je retombe sur le même plantage à l'exécution!!!!

    Je tourne en rond....
    Images attachées Images attachées  

  4. #4
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Il faut mettre un 'r' devant les guillemets lorsqu'il y a un chemin disque sous Windows, à cause des '\': ceux-ci sont interprétés par Python. Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    r"c:\python33\GC_package"
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Mai 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2011
    Messages : 25
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    Merci à tous les deux pour votre aide.
    J'ai résolu mon problème en utilisant "include_files".
    Je poste le setup.py final
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    # -*- coding: utf-8 -*-
    import sys, os
    from cx_Freeze import setup, Executable
     
    #############################################################################
    # preparation des options 
    path = sys.path + [r"C:\python33\GC_package"]
    includes = ["menu","fonctions","enregistrement","maintenance_concours","maintenance_inscriptions",
                "maintenance_parties","maintenance_societe","maintenance_tirage"]
    excludes = []
    packages = ["PIL"]
    include_files = ["GC_package", "fond1.png","boules.ico"]
     
    options = {"path": path,
               "includes": includes,
               "excludes": excludes,
               "packages": packages,
               "include_files": include_files
               }
    #############################################################################
    # preparation des cibles
    icone = None
    base = None
    if sys.platform == "win32":
        base = "Win32GUI"
        icone = "boules.ico"
     
    cible_1 = Executable(
        script = "menu_gen.py",
        base = base,
        compress = True,
        icon = icone,
        targetName='Win_GC.exe'
        )
    #############################################################################
    # creation du setup
    setup(
        name = "Win_Sport_Boules",
        version = "0.1",
        description = "Win_GC : Gestion d'un concours de boules",
        author = "Zevulko",
        options = {"build_exe": options},
        executables = [cible_1]
        )
    Cordialement

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

Discussions similaires

  1. ImportError: No module named PyQt4
    Par Sephiroth Lune dans le forum PyQt
    Réponses: 31
    Dernier message: 22/03/2011, 09h03
  2. 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
  3. Probléme "No module named sax.utils"
    Par astragoth dans le forum Général Python
    Réponses: 4
    Dernier message: 27/01/2010, 13h56
  4. class/module name must be CONSTANT
    Par maxeur dans le forum Ruby
    Réponses: 2
    Dernier message: 15/01/2008, 08h44
  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