2010-10-15 20 views
4

J'ai fait un simple programme d'interface graphique en python avec tkinter et j'ai essayé de le convertir en .exe en utilisant py2exe. Cependant, j'ai rencontré un problème. Lorsque j'essaie de lancer l'exe, il clignote très rapidement une erreur puis disparaît. Donc, le mieux que je pouvais faire était de prendre une photo de l'erreur.Problèmes avec Tkinter dans py2exe

Comment résoudre ce problème?

alt text

Modifier

Vélociraptors, ceci est mon fichier de configuration. C'est à peu près aussi basique que possible. Comment pourrais-je intégrer init.tcl dans le code?

from distutils.core import setup 
import py2exe 

setup(console=[r'C:\Python26\Random Password Generator.py']) 

Répondre

4

Votre script setup.py inclut-il init.tcl dans l'option data_files? Le py2exe list of options dit que c'est ainsi que vous devez inclure les images et autres fichiers de données requis.

Edit:

Votre script de configuration spécifie que votre programme doit être converti en une console exe. Si vous voulez un programme GUI (que vous faites, puisque vous utilisez Tkinter), vous devez utiliser l'option windows:

setup(windows=[r'C:\Python26\Random Password Generator.py']) 

py2exe devrait inclure correctement les dépendances de Tkinter. Sinon, vous pouvez inclure manuellement init.tcl:

setup(data_files=['C:\Python26\tcl\tcl8.5\init.tcl'], 
     windows=[r'C:\Python26\Random Password Generator.py']) 
+0

Probablement pas, voir modifier. – rectangletangle

0

Assurez-vous que tcl est installé dans C:\Users\splotchy\lib\tcl8.5 ou C:\Users\lib\tcl8.5.

Si vous souhaitez afficher les messages d'erreur plus longtemps, exécutez votre programme à partir d'une invite de commande.

+0

Je ne le vois sous aucun des répertoires ... – rectangletangle

+0

@Anteater: C'est pourquoi il échoue ... –

0

J'ai trouvé un bug sur le site virutalenv qui a suggéré ce qui suit https://github.com/pypa/virtualenv/issues/93

pour Windows dans votre répertoire « C: \ Environments \ virtualenv \ Scripts \ activer. chauve-souris » ajoutent juste qui sont mis à la voie de TCL et TK pour votre version python

set "TCL_LIBRARY=C:\Python27\tcl\tcl8.5" 
set "TK_LIBRARY=C:\Python27\tcl\tk8.5" 

redémarrer votre cmd ou shell

Je crois que l'emplacement TCL a changé de ceux par défaut.