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 :

probleme de cx-freeze avec Tix


Sujet :

Déploiement/Installation Python

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2012
    Messages : 50
    Points : 45
    Points
    45
    Par défaut probleme de cx-freeze avec Tix
    jai déployer un script en .exe avec cx-freeze et j'ai rencontré un probleme avec le module tix il m'affiche une erreur du genre can't find package
    alors j'ai eté obligé d'instaler python3.2 sur le nouveau pc pour que le fichier.exe fonctionne
    jai essayai avec d'autre exemples et ça fonctionne (des exemples sans tix juste avec tkinter
    merci et bonne continuation

  2. #2
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    Le message d'erreur exact c'est quoi ?
    Vous utilisez bien import tkinter.tix ?

    @+
    Merci d'utiliser le forum pour les questions techniques.

  3. #3
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2012
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    j'ai taper import tkinter.tix as Tix

    le message d'erreur est:
    Traceback (most recent call last):
    file "C:\python32\lib\site-package\cx_freeze\initscripts\Console3.py",line27, in <module>
    File"CADM.py",line 5707, in <module>
    File "C:\python32\lib\tkinter\tix.py" line 225; in __init__
    _tkinter.TclError: can't find package Tix

    c'est un script qui dépasse les 6000 lignes(est ce que c'est la cause) nommé CADM.py
    et la ligne 5707 dans mon script correspond à
    root=Tix.Tk()

    j'ai besoin d'une réponse et merci d'avance

  4. #4
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour houma2001,

    Sauf de ne pas mettre tkinter dans le setup.py* je n'arrive pas a reproduire l'erreur.
    Mais bon... Je ne suis pas sous Windows.

    @+

    * Mon code de test:
    tixsample.py
    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
    # -*- coding:utf-8 -*-
    #
    #
    #
    import tkinter.tix as Tix
     
     
    def changepage2():
        nb.raise_page("page2")
     
    def changepage1():
        nb.raise_page("page1")
     
     
    root = Tix.Tk()
    nb = Tix.NoteBook(root)
    nb.add("page1", label="page1")
    nb.add("page2", label="page2")
    p1 = nb.subwidget_list["page1"]
    p2 = nb.subwidget_list["page2"]
    nb.pack()
    Tix.Button(p1, text='Passe a la page 2', command=changepage2).pack()
    Tix.Button(p2, text='Passe a la page 1', command=changepage1).pack()
    root.mainloop()
    setup.py
    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
    import sys
    from cx_Freeze import setup, Executable
     
    build_exe_options = {"packages": ["tkinter"]}
     
     
    base = None
    if sys.platform == "win32":
        base = "Win32GUI"
     
    setup(  name = "tixsample",
            version = "0.1",
            description = "My Tix application!",
            options = {"build_exe": build_exe_options},
            executables = [Executable("tixsample.py", base=base)])
    Merci d'utiliser le forum pour les questions techniques.

  5. #5
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Et même sans le mettre dans build_exe_options il me trouve mon /usr/lib/python3.2/tkinter/tix.py...

    Par contre l'erreur m'interpelle...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    _tkinter.TclError: can't find package Tix
    L'import est vraiment import tkinter.tix as Tix ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> import tkinter.Tox as tox
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ImportError: No module named Tox
    Et pourquoi _tkinter.TclError et non ImportError ?
    Merci d'utiliser le forum pour les questions techniques.

  6. #6
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2012
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    j'ai essayé avec le code et le setup que tu m'as donné et c'est pareil, le meme message qui s'affiche; je ne sais pas quoi faire?

    vous trouvez ci-dessous le message d'erreur
    Images attachées Images attachées  

  7. #7
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour houma2001,

    Je pense avoir compris.
    Voici la ligne en question
    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
    class Tk(tkinter.Tk, tixCommand):
        """Toplevel widget of Tix which represents mostly the main window
        of an application. It has an associated Tcl interpreter."""
        def __init__(self, screenName=None, baseName=None, className='Tix'):
            tkinter.Tk.__init__(self, screenName, baseName, className)
            tixlib = os.environ.get('TIX_LIBRARY')
            self.tk.eval('global auto_path; lappend auto_path [file dir [info nameof]]')
            if tixlib is not None:
                self.tk.eval('global auto_path; lappend auto_path {%s}' % tixlib)
                self.tk.eval('global tcl_pkgPath; lappend tcl_pkgPath {%s}' % tixlib)
            # Load Tix - this should work dynamically or statically
            # If it's static, tcl/tix8.1/pkgIndex.tcl should have
            #               'load {} Tix'
            # If it's dynamic under Unix, tcl/tix8.1/pkgIndex.tcl should have
            #               'load libtix8.1.8.3.so Tix'
            self.tk.eval('package require Tix')
    Je pense qu'il faudrait inclure la librairie dynamique dans le setup.py car cx_freeze ne comprend pas le tk.eval.
    En fait je ne dois pas avoir l'erreur car c'est installer sur ma machine

    @+
    Merci d'utiliser le forum pour les questions techniques.

  8. #8
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2012
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    salut PauseKawa
    desolé je ne comprends pas?
    une librairies dynamique?
    j'ai rencontré le meme probleme mais cette fois avec le module random alors j'ai eté obligé de supprimer la ligne (from random import *) et apres le programme fonctionne trés bien;;
    et merci d'avance

  9. #9
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonsoir,

    Pour random l'import est il au début du script ? Si oui avez tester en mettant random dans les includes du setup.py ?

    Pour tix voici je que j'ai vus
    To do so, I had to copy across the tcl8.5
    directory from C:/Python32/tcl/, as well as tcl85.dll and tk85.dll from
    C:/Python32/DLLs/
    includeFiles = [
    ( r"E:\Python25\tcl\tcl8.4", "tcl"),
    ( r"E:\Python25\tcl\tk8.4", "tk")
    ]
    (C:\Python32\tcl sans doute pour vous)
    En fait ce n'est pas une erreur d'import de tkinter.tix mais du Tix de tcl/tk (le require du code ci dessus).
    Vous pouvez tester les deux 'solutions'.

    @+
    Merci d'utiliser le forum pour les questions techniques.

  10. #10
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Vous pouvez aussi mettre
    import tkinter
    import tkinter.tix as Tix
    En début de script pour tester.
    Merci d'utiliser le forum pour les questions techniques.

  11. #11
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2012
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    merci pausekawa voila ce que j'ai fait
    j'ai copier le dossier C:\Python32\tcl\tix8.4.3
    et je l'ai copier dans le dossier build\exe.win32-3.2
    et ça marche trés bien
    merci infiniment
    juste un dernier trucs comment on fait pour changer la couleur et la police des onglets (avec l'exemple precedent please)

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

Discussions similaires

  1. Probleme de freez avec ma Ubuntu
    Par Ekinoks dans le forum Ubuntu
    Réponses: 12
    Dernier message: 06/08/2007, 19h58
  2. Problème install Modem Asus avec amedyn
    Par PeGaZe dans le forum Matériel
    Réponses: 7
    Dernier message: 01/10/2004, 13h51
  3. [JSP] probleme de out.println() avec un document
    Par SEMPERE Benjamin dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 15/08/2004, 23h05
  4. [JSP] probleme de out.println() avec un document
    Par SEMPERE Benjamin dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 12/08/2004, 08h31
  5. Problème sur une cmd avec AWK
    Par OrangeBud dans le forum Linux
    Réponses: 3
    Dernier message: 02/06/2004, 10h51

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