Précédent   Forum du club des développeurs et IT Pro > Autres langages > Python & Zope > Déploiement/Installation
Déploiement/Installation Forum d'entraide sur le déploiement d'applications et sur l'installation/compilation de bibliothèques
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 17/07/2012, 00h38   #1
houma2001
Candidat au titre de Membre du Club
 
Homme
Administrateur de base de données
Inscription : janvier 2012
Messages : 38
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 : 38
Points : 14
Points : 14
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
houma2001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2012, 15h58   #2
PauseKawa
Expert Confirmé
 
Avatar de PauseKawa
 
Homme Patrice BLANGARIN
Technicien Help Desk, maintenance, réseau, système et +
Inscription : juin 2006
Messages : 2 650
Détails du profil
Informations personnelles :
Nom : Homme Patrice BLANGARIN
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 650
Points : 3 776
Points : 3 776
Bonjour,

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

@+
__________________
Merci d'utiliser le forum pour les questions techniques.
PauseKawa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2012, 18h20   #3
houma2001
Candidat au titre de Membre du Club
 
Homme
Administrateur de base de données
Inscription : janvier 2012
Messages : 38
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 : 38
Points : 14
Points : 14
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
houma2001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2012, 10h16   #4
PauseKawa
Expert Confirmé
 
Avatar de PauseKawa
 
Homme Patrice BLANGARIN
Technicien Help Desk, maintenance, réseau, système et +
Inscription : juin 2006
Messages : 2 650
Détails du profil
Informations personnelles :
Nom : Homme Patrice BLANGARIN
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 650
Points : 3 776
Points : 3 776
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 :
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 :
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.
PauseKawa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2012, 10h32   #5
PauseKawa
Expert Confirmé
 
Avatar de PauseKawa
 
Homme Patrice BLANGARIN
Technicien Help Desk, maintenance, réseau, système et +
Inscription : juin 2006
Messages : 2 650
Détails du profil
Informations personnelles :
Nom : Homme Patrice BLANGARIN
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 650
Points : 3 776
Points : 3 776
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 :
_tkinter.TclError: can't find package Tix
L'import est vraiment import tkinter.tix as Tix ?
Code :
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.
PauseKawa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2012, 02h58   #6
houma2001
Candidat au titre de Membre du Club
 
Homme
Administrateur de base de données
Inscription : janvier 2012
Messages : 38
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 : 38
Points : 14
Points : 14
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
Type de fichier : jpg erreur.JPG (113,7 Ko, 13 affichages)
houma2001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2012, 08h08   #7
PauseKawa
Expert Confirmé
 
Avatar de PauseKawa
 
Homme Patrice BLANGARIN
Technicien Help Desk, maintenance, réseau, système et +
Inscription : juin 2006
Messages : 2 650
Détails du profil
Informations personnelles :
Nom : Homme Patrice BLANGARIN
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 650
Points : 3 776
Points : 3 776
Bonjour houma2001,

Je pense avoir compris.
Voici la ligne en question
Code :
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.
PauseKawa est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 19/07/2012, 15h54   #8
houma2001
Candidat au titre de Membre du Club
 
Homme
Administrateur de base de données
Inscription : janvier 2012
Messages : 38
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 : 38
Points : 14
Points : 14
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
houma2001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2012, 19h07   #9
PauseKawa
Expert Confirmé
 
Avatar de PauseKawa
 
Homme Patrice BLANGARIN
Technicien Help Desk, maintenance, réseau, système et +
Inscription : juin 2006
Messages : 2 650
Détails du profil
Informations personnelles :
Nom : Homme Patrice BLANGARIN
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 650
Points : 3 776
Points : 3 776
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
Citation:
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/
Citation:
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.
PauseKawa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2012, 19h08   #10
PauseKawa
Expert Confirmé
 
Avatar de PauseKawa
 
Homme Patrice BLANGARIN
Technicien Help Desk, maintenance, réseau, système et +
Inscription : juin 2006
Messages : 2 650
Détails du profil
Informations personnelles :
Nom : Homme Patrice BLANGARIN
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 650
Points : 3 776
Points : 3 776
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.
PauseKawa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2012, 06h17   #11
houma2001
Candidat au titre de Membre du Club
 
Homme
Administrateur de base de données
Inscription : janvier 2012
Messages : 38
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 : 38
Points : 14
Points : 14
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)
houma2001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 00h27.


 
 
 
 
Partenaires

Hébergement Web