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

Tkinter Python Discussion :

problème utilisation bibliotheque Tk/tcl et pix


Sujet :

Tkinter Python

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut problème utilisation bibliotheque Tk/tcl et pix
    Bonjour a tous,
    Et surtout merci de votre attention.
    Voilà mon problème:

    J'ai réalisé une petite application toute "bête" sous python qui me permet de lancer les updates de microsoft sans avoir à me connecter sur le net (j'ai téléchargé les patch un par un)
    J'aurai aimé inclure une progress bar dans une interface graphique sommaire.
    Sur ma machine l'application réalisée tourne correctement (normal les librairie tcl/tk etc... sont installées)
    Le problème survient lorsque je veux lancer l'application sur un autre poste ou python et tk/tcl ne sont pas installés j'obtient le message:

    Traceback (most recent call last):
    File "update progress bar.py", line 40, in <module>
    File "Tix.pyc", line 199, in __init__
    File "Tkinter.pyc", line 1636, in __init__
    _tkinter.TclError: Can't find a usable init.tcl in the following directories:
    D:/lib/tcl8.4



    This probably means that Tcl wasn't installed properly.

    Traceback (most recent call last):
    File "update progress bar.py", line 40, in <module>
    File "Tix.pyc", line 210, in __init__
    _tkinter.TclError: can't find package Tix
    Traceback (most recent call last):
    File "update progress bar.py", line 40, in <module>
    File "Tix.pyc", line 210, in __init__
    _tkinter.TclError: can't find package Tix

    j'imagine qu'il doit être possible d'intégrer le nécessaire au fonctionnement de mon appli sans devoir l'installer sur les postes où je le fais tourner...
    Quelqu'un pourrait-il m'aider?

    Voici le code du petit programme (soyez clements je débute, mais toute remarque est la bienvenue) :
    ----------------- code---------------------------
    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
    45
    # -*- coding:Utf-8 -*- 
    # -*- coding:Latin-1 -*- 
     
    ############################### 
    # automatisation de l'installation des updates M$ # 
    # créé par Samuel Servotte # 
    # Ver 1.0.0 # 
    ############################### 
     
     
    import Tix 
    import os 
    import glob 
    from time import sleep 
     
    def gg(): 
       chemin=os.getcwd() 
       root=os.getcwd() 
       chemin=os.path.join(chemin,"update") 
       chemin=os.path.join(chemin,"*.*") 
        i=0 
        for files in glob.glob(chemin): 
             i+=1 
        u=0 
        for fichier in glob.glob(chemin): 
             u+=1 
             res= float(u)/float(i) 
             fichier=fichier+" /passive /norestart /nobackup" 
             os.system(fichier) 
             meter.config(value=res) 
             meter.update() 
     
     
     
    chemin=os.getcwd() 
    root=os.getcwd() 
    chemin=os.path.join(chemin,"update") 
    chemin=os.path.join(chemin,"*.*") 
     
    root = Tix.Tk(className="Mise à jour windows XP") 
    meter = Tix.Meter(root, value=0.) 
    meter.pack() 
    btn = Tix.Button(root, text = 'Début', command = gg) 
    btn.pack() 
    root.mainloop()
    ------------ code ----------------

    Merci de votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut
    Salut azgaroth,

    Pour pouvoir faire tourner une applic Python sur un poste où Python n'est pas installé tu dois compiler ton script avec des logiciels comme py2exe, cx_freeze ou encore pyInstaller.

    Perso, j'ai utilisé les 3 et voici le constat:
    py2exe:
    Impec sur mon premier programme. Moins bon sur le deuxième où il fallait que j'importe la bibliothèque Bwidget.
    Essaye le. Mais tu risques peut-être d'avoir un souci avec l'import de Tix. La seule solution c'est d'essayer.

    cx_freeze:
    Je en l'ai utilisé que pour le deuxième programme.
    J'ai jamais réussi à faire tourner le .exe créé.

    pyInstaller:
    Utilisé seulement pour le deuxième programme.
    Le .exe fonctionne nickel sur mon PC mais pas sur un PC sans Python. (ce qui n'est pas normal du tout)
    Désolé.

    A mon avis essaye les trois. Tu verras bien.

    Concernant pyInstaller, J'ai posté un message pour essayer de résoudre le problème, mais je n'ai encore eu aucune réponse. Tu peux néanmoins te servir des lignes de commande que j'ai donné pour essayer.
    Un logiciel devrait bientôt sortir pour faciliter la compilation avec pyInstaller.

    Tu trouveras pour py2exe une explication dans la faq.

    Pour cx_freeze, il y a 3 exemple de fournis avec.

    J'espère que tu auras plus de chance que moi.
    Tiens moi au courant.

    Bye et bon courage

Discussions similaires

  1. Problème utilisation DLL
    Par Tub-95 dans le forum MFC
    Réponses: 4
    Dernier message: 02/11/2005, 13h00
  2. [Tomcat][Spring] Problème utilisation mémoire
    Par Wutintin dans le forum Hibernate
    Réponses: 12
    Dernier message: 08/09/2005, 15h57
  3. [JSTL] [EL] Problème utilisation <c:out>
    Par XavierL dans le forum Taglibs
    Réponses: 7
    Dernier message: 14/08/2005, 21h12
  4. (Problème) Utilisation de l'API mySQL [Delphi 2005 Perso]
    Par will-scs dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/08/2005, 19h26
  5. [JAR]Problème utilisation manifest et jar
    Par doudine dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 07/01/2005, 11h21

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