scripts, por mais simples que sejam,depois de feito executavel pelo py2exe frenquente menta suas funções encorrem em erro! Espero que eu esteja fazendo algo de errado ou py2exe já esta me decepcionando.
o ultimo logo de erro é esse: (depois vem o script)
Exception in Tkinter callback
Traceback (most recent call last):
File "Tkinter.pyc", line 1403, in __call__
Traceback (most recent call last):
File "energia.py", line 95, in <module>
File "energia.py", line 15, in __init__
File "energia.py", line 43, in janela
File "Tkinter.pyc", line 1023, in mainloop
File "Tkinter.pyc", line 1407, in __call__
File "Tkinter.pyc", line 1171, in _report_exception
File "Tkinter.pyc", line 1718, in report_callback_exception
File "traceback.pyc", line 125, in print_exception
Pergunta
cleyton p sales
scripts, por mais simples que sejam,depois de feito executavel pelo py2exe frenquente menta suas funções encorrem em erro! Espero que eu esteja fazendo algo de errado ou py2exe já esta me decepcionando.
o ultimo logo de erro é esse: (depois vem o script)
Exception in Tkinter callback
Traceback (most recent call last):
File "Tkinter.pyc", line 1403, in __call__
Traceback (most recent call last):
File "energia.py", line 95, in <module>
File "energia.py", line 15, in __init__
File "energia.py", line 43, in janela
File "Tkinter.pyc", line 1023, in mainloop
File "Tkinter.pyc", line 1407, in __call__
File "Tkinter.pyc", line 1171, in _report_exception
File "Tkinter.pyc", line 1718, in report_callback_exception
File "traceback.pyc", line 125, in print_exception
File "traceback.pyc", line 69, in print_tb
TypeError: fake_getline() takes exactly 2 arguments (3 given)
Exception in Tkinter callback
Traceback (most recent call last):
File "Tkinter.pyc", line 1403, in __call__
Traceback (most recent call last):
File "energia.py", line 95, in <module>
File "energia.py", line 15, in __init__
File "energia.py", line 43, in janela
File "Tkinter.pyc", line 1023, in mainloop
File "Tkinter.pyc", line 1407, in __call__
File "Tkinter.pyc", line 1171, in _report_exception
File "Tkinter.pyc", line 1718, in report_callback_exception
File "traceback.pyc", line 125, in print_exception
TypeError: fake_getline() takes exactly 2 arguments (3 given)
do script (quando executavel!):
# calculo de gasto de energia
import Tkinter
class tudo:
-- def __init__(self):
---- self.taxa=0.49195 # em reais por KWh
---- self.horaDia=None # em horas
---- self.dias=30 # numero puro
---- self.potencia=None # em KWh
----
---- self.janela()
-- def janela(self):
---- self.frame=Tkinter.Tk()
---- self.t=Tkinter.StringVar()
---- self.h=Tkinter.StringVar()
---- self.d=Tkinter.StringVar()
---- self.r=Tkinter.StringVar()
---- self.p=Tkinter.StringVar()
---- self.c=Tkinter.StringVar() #consumo KWh
----
---- Tkinter.Label(self.frame,text=Taxa em R$ por KWh:',width=40).grid(row=0,column=0)
---- Tkinter.Label(self.frame,text='Horas por dia:').grid(row=1,column=0)
---- Tkinter.Label(self.frame,text='numero de dias:').grid(row=2,column=0)
---- Tkinter.Label(self.frame,text='potencia(W):').grid(row=3,column=0)
---- Tkinter.Label(self.frame,text='Consumo mensal(KWh):').grid(row=4,column=0)
---- Tkinter.Label(self.frame,text='gasto estimado(R$):').grid(row=5,column=0)
----
---- Tkinter.Entry(self.frame,textvariable=self.t,width=30).grid(row=0,column=1)
---- Tkinter.Entry(self.frame,textvariable=self.h,width=30).grid(row=1,column=1)
---- Tkinter.Entry(self.frame,textvariable=self.d,width=30).grid(row=2,column=1)
---- Tkinter.Entry(self.frame,textvariable=self.p,width=30).grid(row=3,column=1)
---- Tkinter.Entry(self.frame,textvariable=self.c,width=30).grid(row=4,column=1)
---- Tkinter.Entry(self.frame,textvariable=self.r,width=30).grid(row=5, column=1)
----
---- Tkinter.Button(self.frame,text='CALCULAR',command=self.calcular, width=30).grid(row=6,column=0)
---- Tkinter.Button(self.frame,text='LIMPAR',command=self.limpar,width=30).grid(row=6,column=1)
---- self.frame.mainloop()
----
----
----
-- def calcular(self):
---- if len(self.t.get()):
------ t=self.t.get()
---- else:
------ t=self.taxa
------ self.t.set(0.49195)
---- if len(self.d.get()):
------ d=self.d.get()
---- else:
------ d=self.dias
------ self.d.set(30)
---- if len(self.h.get()):
------ h=self.h.get()
------
---- try:
------ p=float(self.p.get())/1000
------ t=float(t)
------ d=float(d)
------ h=float(h)
---- except:
------ self.r.set('dados invalidos!')
------ return
---- c=p*h*d
---- r=p*h*d*t
---- msg=''
---- if r<=50:
------ msg='%0.2f, pode valer apena...'%r
---- elif r>50 and r<100:
------ msg='%0.2f, so se for necessario mesmo...'%r
---- elif r>=100 and r<150:
------ msg='%0.2f, não tem outro mais aconomico não?'%r
---- elif r>=150:
------ msg='%0.2f, fud### tudo!so paga com muita fe mesmo...'%r
---- self.r.set('%0.2f'%r)
---- self.c.set©
---- self.resenha.set(msg)
---- return
-- def limpar(self):
---- self.t.set('')
---- self.d.set('')
---- self.h.set('')
---- self.r.set('')
---- self.p.set('')
---- self.c.set('')
---- return
if (__name__=='__main__'):
---- tudo()
eu uso um setup desse tipo:
#!usr/bin/python
from distutils.core import setup
import py2exe
setup(windows=['energia.py])
e depois esse comando no pronpt:
setup.py py2exe
em fim , deleto a pasta bild e uso a dist.
vê ai se algem entende esse erro
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.