no logro que al mover el control deslizante se actualice solo el resultado, Tkinter Scale

Cordial saludo amigos, tengo el siguiente código:

from tkinter import *  def suma():      valor2 = 0     R = valor2 + valor1.get()     return resultado.set(R)  root = Tk() root.title("Slider - Funcionamiento") root.geometry('1000x600+120+40') root.iconbitmap('descarga.ico') root.resizable(0,0)  valor1 = IntVar() resultado = IntVar() Slider1 = Scale(root, orient = VERTICAL, length = 155, from_ = 0, to = 10,              tickinterval = 1, variable = valor1) Slider1.place(x = 200, y = 200)  pantalla = Entry(root, textvariable = resultado, state = "disable") pantalla.place(x = 32, y = 500) boton10 = Button(root, text = "suma", width = 20, height = 1,              command = suma) boton10.place(x = 130, y = 360)  root.mainloop() 

lo que quisiera es que al mover el scale, y variar entre sus valores, el resultado que se muestra en el Entry cambie sin necesidad de estar presionando el boton de resultado.

¿como puedo lograr esto? Agradeceria su ayuda.

Python: como puedo sacar mensajes de progreso de un proceso en otra venta distinta a la de Tkinter que llama al proceso

soy novato en Python.

Necesito sacar mensajes de lo que está haciendo el proceso que es llamado desde una función desde la ventana principal en otra ventana Tkinter y no lo consigo. Cuando creo la ventana secundaria el proceso que se corre desde la ventana principal se para.

Por favor me podeis ayudar? muchas gracias.

Problemas con Tkinter en python

soy muy novato en esto ( todavía me asombro de como he podido hacer lo que he hecho ) y tengo un problema con unos comandos. Os explico, tengo este codigo:

import tkinter as tk import sys  def oneclick():   if True:   pass   else:   sys.exit(). sys.exit()    def show_entry_fields():     print("Email: %s\nPassword: %s\nRepeat: %s\nTime: %s" % (e1.get(), e2.get(), e3.get()))  master = tk.Tk() tk.Label(master,          text="Email").grid(row=0) tk.Label(master,          text="Password").grid(row=1) tk.Label(master,         text="Repeat").grid(row=2) tk.Label(master,         text="Time").grid(row=3)  e1 = tk.Entry(master) e2 = tk.Entry(master) e3 = tk.Entry(master) e4 = tk.Entry(master)  e1.grid(row=0, column=1) e2.grid(row=1, column=1) e3.grid(row=2, column=1) e4.grid(row=3, column=1)  Button = tk.Button() tk.Button(master,           text='Start',           command=oneclick).grid(row=4,                                     column=1,                                     sticky=tk.W,                                     pady=4)  master.title("Presearch by meganano202") master.iconbitmap("C:\Users\meganano202\Desktop\bot\G_XURdf8.ico")  # Configuración de la raíz def menubar():    root = Tk()    menubar = Menu(root)   root.config(menu=menubar)    filemenu = Menu(menubar, tearoff=0)   filemenu.add_command(label="Nuevo")   filemenu.add_command(label="Abrir")   filemenu.add_command(label="Guardar")   filemenu.add_command(label="Cerrar")   filemenu.add_separator()   filemenu.add_command(label="Salir", command=root.quit)    editmenu = Menu(menubar, tearoff=0)   editmenu.add_command(label="Cortar")   editmenu.add_command(label="Copiar")   editmenu.add_command(label="Pegar")    helpmenu = Menu(menubar, tearoff=0)   helpmenu.add_command(label="Ayuda")   helpmenu.add_separator()   helpmenu.add_command(label="Acerca de...")    menubar.add_cascade(label="Archivo", menu=filemenu)   menubar.add_cascade(label="Editar", menu=editmenu)   menubar.add_cascade(label="Ayuda", menu=helpmenu)  tk.mainloop()   from selenium import webdriver import time  driver = webdriver.Chrome("C:\Users\meganano202\Desktop\bot\chromedriver.exe") driver.get("https://presearch.org/login") time.sleep(2) elem = driver.find_element_by_name ("email") elem.send_keys(e1.get()) time.sleep(4) password_elem = driver.find_element_by_name("password") password_elem.send_keys(e2.get()) time.sleep(60) for i in range(e3.get()):     search_elem = driver.find_element_by_id("search").send_keys("meganano202")     search_elem = driver.find_element_by_xpath("//button[@type='submit']").click()     time.sleep(e4.get())     driver.back() 

Y lo que querría hacer es, cuando no presionen el botón de “Start” que no se inicie el bot, es decir, cuando presione Start que se inicie y se cierre la venta automáticamente ( que creo que ya lo hice yo ) y cuando se cierre la ventana manualmente que no se inicie el bot, como veis yo intente hacerlo con if y else pero no me funciono o lo hice mal. Estaré muy agradecido por su ayuda

tkinter label – se lanzan los dos eventos, click y doble click a la vez

#!/usr/bin/env python # -*- coding: utf-8 -*-  import sys import tkinter as tk from tkinter import ttk, font  class   Intento1(tk.Frame):     def __init__(self, master, *args, **kwargs):         super().__init__(master, *args, **kwargs)          labeltop = tk.Label(master, text= "Etiqueta superior", background = "red")         labeltop.grid(row=0, column=0)          labeltop.bind("<Button-1>", self.callLabelTop)         labeltop.bind("<Double-Button-1>", self.callLabelTopDouble)          self.quitButton = tk.Button(master, text="quit", command=self.quit)         self.quitButton.grid(row=1, column=0)      def callLabelTop(self, event):         print("Intento1: Single click in TopLabel")      def callLabelTopDouble(self, event):         print("Intento1: Double click in TopLabel")   if __name__ == "__main__":       print(sys.version)     root = tk.Tk()      app = Intento1(root)     root.progID = sys.argv[0] + " --> "                  # recoge nombre del programa     root.title(root.progID + 'Sample application')     root.mainloop() 

Cuando hago double click en la etiqueta, se me lanzan, a la vez, los eventos de single click y doble click.

¿Que estoy haciendo mal o que omito? ¿Es el comportamiento standard?

El interface de stackoverflow me pide que añada mas detalles, para dejarme publicar. Creo que con lo descrito es suficiente, ¿no?

running a python tkinter gui on startup using systemd

i created a GUI on python/tkinter and i need it to run on startup, can this be done using systemd or do i need to turn the script into an executable because so far every attempt at trying to use systemd as resulted in:

(code=exited, status1/failure) 

is this just a problem with how i configured the .service file or can systemctl not be used to do this?

¿Como obtener datos de un Entry en tkinter?

¡Buenas!

Estoy tratando de obtener información de un entry, para que me la imprima por consola, pero me da el siguiente error:

Exception in Tkinter callback Traceback (most recent call last):   File "C:\Program Files (x86)\Python37-32\lib\tkinter\__init__.py", line 1705, in __call__     return self.func(*args)   File ".\Cliente.py", line 68, in <lambda>     botonNick = tk.Button(frame, text="Listo!", command=lambda:ObtenerNick())   File ".\Cliente.py", line 48, in ObtenerNick     insertNick.get() NameError: name 'insertNick' is not defined 

aquí os dejo la porcion del código también donde me ubica el fallo:

def ObtenerNick():     print(insertNick.get())      root.destroy()  # --------------------------------------------------------------#  def NickGui():     root = tk.Tk()     root.title("Nick")      nick = tk.StringVar()         frame = tk.Frame(root).grid(row=0, column=0, padx=5, pady=5)      labelNick = tk.Label(frame, text="Inserte su nick y pulse en Listo!")     labelNick.grid(row=1, column=0, columnspan=2, padx=5, pady=5, sticky="n")      insertNick = tk.Entry(frame, width=30, textvariable=nick)     insertNick.grid(row=2, column=0, sticky="w", padx=5, pady=5)      botonNick = tk.Button(frame, text="Listo!", command=lambda:ObtenerNick     botonNick.grid(row=2, column=1, sticky="e", padx=5, pady=5)      root.mainloop()  

Mi pregunta es ¿Cual es la forma correcta de obtener la información de un Entry con un get()?. Tengo entendido que hay que hacer una función, y desde ahí, usando get al Entry en cuestión obtenerla, pero me da ese error.

He probado a usar nick.get() en vez de insertNick.get() pero tampoco funciona. también he probado a hacer el get desde la propia función NickGui, pero también me da un error.

¡Gracias por la ayuda!

¿Porque tengo una columna adicional con Treeview en Tkinter? Python3

¡Buenas!

Estoy creando una interfaz gráfica para una aplicación de chat (Que funciona por consola actualmente).

El problema que tengo es que al usar la función de treeview y crear 3 columnas, me aparecen 4, y una de ellas vacía (la ultima). Os dejo una captura de pantalla y el código. ¿Como podría eliminar esa “Columna vacia” de mi TreeView?

introducir la descripción de la imagen aquí

Aquí os dejo el código:

def GUI():     root = Tk()     root.title("Chat - RuDaHee")       frame = Frame(root).grid(row=0, column=0, padx=5, pady=5)      chat = ttk.Treeview(frame, height=10, columns=("#0","#1", "#2"), selectmode="extended")     chat.heading('#0', text='Hora', anchor=CENTER)     chat.heading("#1", text="Usuario", anchor=CENTER)     chat.heading("#2", text="Mensaje", anchor=W)     chat.column("#0", stretch=NO, width=80)     chat.column("#1", stretch=NO, width=80)     chat.column("#2", stretch=NO, width=380)      chat.grid(row=0, column=0, columnspan=2, padx=10, pady=10, sticky="nsew")       escribirMensaje = Entry(frame, width=87).grid(row=1, column=0, sticky="w", padx=10, pady=10)     enviarMensaje = Button(frame, text="Enviar").grid(row=1, column=1, sticky="e", padx=10, pady=10)     root.mainloop()   GUI() 

Como converter .py com tkinter para executavel?

Sou novo em aprender Python, bem como qualquer linguagem de programação. (Este no caso, é meu primeiro script realizado)

Tenho um script.py funcionando corretamente em Python37. Utilizo Windows 10 64bt

O problema é na hora de converter para .exe

Tentei compilar para .exe usando: pyinstaller, cx_Freeze Não tive sucesso. O executavel é criado, mas ao clicar para abrir o prompt de comando só pisca na tela e não abre.

Acredito que o erro deve estar relacionado a estrutura do script principal ou no Setup.py

Caso alguém consiga me ajudar, ficarei muito agradecido.

Estou utilizando algumas bibliotecas, como por exemplo: tkinter.

Script principal “main.py”: (desculpa pelo tamanho e mau otimização)

           #!/usr/bin/python             # -*- coding: utf-8 -*-             from tkinter import *             import os.path             from tkinter import messagebox             import shutil             import os             import sys              janela = Tk()              top = Toplevel() #Creates the toplevel window              def command1():                 if entry1.get() == "Pedro" and entry2.get() == "Pedro2019" or entry1.get() == "Lucas" and entry2.get() == "Lucas2019" or entry1.get() == "Gabriel" and entry2.get() == "Gabriel2019": #Checks whether username and password are correct                     janela.deiconify()                     top.destroy()                 else:                     messagebox.showinfo("Torino Factory Deploy", "Usuario ou senha incorreto")               def command2():                 top.destroy() #Removes the toplevel window                 janela.destroy() #Removes the hidden root window                 sys.exit() #Ends the script               def ok():                 img()                 atv(ativo, imagesdrive)                 mscr(mascara, imagesdrive)                 pw(senha, imagesdrive, cliente, subpasta)                 at(att, imagesdrive, cliente, subpasta)                 bin(cliente, subpasta, att)                 set(cliente, subpasta, imagesdrive)                 sht(ks, imagesdrive)                 end(cliente, subpasta, imagem, ativo, mascara, senha, att, imagesdrive)               def img():                 cliente = str(CaixaDeEntrada1.get())                 subpasta = str(CaixaDeEntrada2.get())                 imagem = str(CaixaDeEntrada3.get())                 print(cliente)                 print(subpasta)                 print(imagem)                 if kw.get() == 1:                     source_dir1="\\img-srv\x$  \TFTP\Image\Cliente\" + cliente                     exist1 = os.path.exists(source_dir1)                     if exist1 == False:                         CaixaDeEntrada1['bg'] = 'pink'                         CaixaDeEntrada2['bg'] = 'white'                         CaixaDeEntrada3['bg'] = 'white'                         erro['text'] = 'Cliente não encontrado, verifique e tente novamente'                         janela.mainloop()                      source_dir2="\\img-srv\x$  \TFTP\Image\Cliente\" + cliente + "\" + subpasta                     exist2 = os.path.exists(source_dir2)                     if exist2 == False:                         CaixaDeEntrada2['bg'] = 'pink'                         CaixaDeEntrada1['bg'] = 'white'                         CaixaDeEntrada3['bg'] = 'white'                         erro['text'] = 'SubPasta não encontrado, verifique e tente novamente'                         janela.mainloop()                      source_dir3="\\img-srv\x$  \TFTP\Image\Cliente\" + cliente + "\" + subpasta + "\" + imagem + ".ffu"                     exist3 = os.path.exists(source_dir3)                     if exist3 == False:                         CaixaDeEntrada3['bg'] = 'pink'                         CaixaDeEntrada1['bg'] = 'white'                         CaixaDeEntrada2['bg'] = 'white'                         erro['text'] = 'Imagem não encontrado, verifique e tente novamente'                         janela.mainloop()                      else:                         CaixaDeEntrada1['bg'] = 'white'                         CaixaDeEntrada2['bg'] = 'white'                         CaixaDeEntrada3['bg'] = 'white'                         with open(imagesdrive + ':\MENU\Final.txt', 'r') as arquivo:                             linhas = arquivo.readlines()                          linhas[24] = 'Set CLIENTE=' + cliente                          with open(imagesdrive + ':\MENU\Final.txt', 'w') as arquivo:                             arquivo.writelines(linhas)                         with open(imagesdrive + ':\MENU\Final.txt', 'r') as arquivo:                             linhas = arquivo.readlines()                          linhas[25] = 'Set SUBPASTA=' + subpasta                          with open(imagesdrive + ':\MENU\Final.txt', 'w') as arquivo:                             arquivo.writelines(linhas)                         with open(imagesdrive + ':\MENU\Final.txt', 'r') as arquivo:                             linhas = arquivo.readlines()                          linhas[26] = 'Set IMAGEM=' + imagem                          with open(imagesdrive + ':\MENU\Final.txt', 'w') as arquivo:                             arquivo.writelines(linhas)                         os.system("type " + imagesdrive + ":\MENU\cf\DSM >>" + imagesdrive + ":\MENU\FINAL.TXT")                   if kw.get() == 2:                     source_dir4="\\img-srv\x$  \TFTP\Image\Cliente\" + cliente                     exist4 = os.path.exists(source_dir4)                     if exist4 == False:                         CaixaDeEntrada1['bg'] = 'pink'                         CaixaDeEntrada2['bg'] = 'white'                         CaixaDeEntrada3['bg'] = 'white'                         erro['text'] = 'Cliente não encontrado, verifique e tente novamente'                         janela.mainloop()                      source_dir5="\\img-srv\x$  \TFTP\Image\Cliente\" + cliente + "\" + subpasta                     exist5 = os.path.exists(source_dir5)                     if exist5 == False:                         CaixaDeEntrada2['bg'] = 'pink'                         CaixaDeEntrada1['bg'] = 'white'                         CaixaDeEntrada3['bg'] = 'white'                         erro['text'] = 'SubPasta não encontrado, verifique e tente novamente'                         janela.mainloop()                      source_dir6="\\img-srv\x$  \TFTP\Image\Cliente\" + cliente + "\" + subpasta + "\" + imagem + ".tbi"                     exist6 = os.path.exists(source_dir6)                     if exist6 == False:                         CaixaDeEntrada3['bg'] = 'pink'                         CaixaDeEntrada1['bg'] = 'white'                         CaixaDeEntrada2['bg'] = 'white'                         erro['text'] = 'Imagem não encontrado, verifique e tente novamente'                         janela.mainloop()                     else:                         CaixaDeEntrada1['bg'] = 'white'                         CaixaDeEntrada2['bg'] = 'white'                         CaixaDeEntrada3['bg'] = 'white'                         with open(imagesdrive + ':\MENU\Final.txt', 'r') as arquivo:                             linhas = arquivo.readlines()                          linhas[24] = 'Set CLIENTE=' + cliente                         linhas[25] = 'Set SUBPASTA=' + subpasta                         linhas[26] = 'Set IMAGEM=' + imagem                          with open(imagesdrive + ':\MENU\Final.txt', 'w') as arquivo:                             arquivo.writelines(linhas)                         os.system("type " + imagesdrive + ":\MENU\cf\IFW >>" + imagesdrive + ":\MENU\FINAL.TXT")                  if kw.get() == 3:                     pass               def atv(ativo, imagesdrive):                 ativo = (CaixaDeEntrada4.get())                 if ativo == ' ' or ativo == 0:                     pass                 if ativo != ' ' or ativo != 0:                     os.system("type " + imagesdrive + ":\MENU\cf\PT >>" + imagesdrive + ":\MENU\FINAL.TXT")                     ativo = int(ativo)                     ativo -= 1                     ativo = str(ativo)                     os.system("echo " + ativo + " >\\img-srv\x$  \TFTP\image\ATLG\Ativo\Atual\ativo.txt")                     pass               def mscr(mascara, imagesdrive):                 mascara = (CaixaDeEntrada7.get())                 if mascara == '' or mascara == 0:                     pass                 if mascara != '' or mascara != 0:                     shutil.copy(imagesdrive + ":\MENU\cf\geral.txt", "\\img-srv\x$  \TFTP\image\ATLG\Ativo\Atual\")                     with open('\\img-srv\x$  \TFTP\image\ATLG\Ativo\Atual\geral.txt', 'r') as arquivo:                         linhas = arquivo.readlines()                      linhas[2] = '   ' + mascara                      with open('\\img-srv\x$  \TFTP\image\ATLG\Ativo\Atual\geral.txt', 'w') as arquivo:                         arquivo.writelines(linhas)                     pass               def pw(senha, imagesdrive, cliente, subpasta):                   cliente = str(CaixaDeEntrada1.get())                 subpasta = str(CaixaDeEntrada2.get())                 imagem = str(CaixaDeEntrada3.get())                 senha = str(CaixaDeEntrada5.get())                 if senha == '' or senha == '0':                     pass                 if senha != '' or senha != '0':                     shutil.copy(imagesdrive + ":\MENU\cf\PW.txt", imagesdrive + ":\MENU\")                     with open(imagesdrive + ':\MENU\PW.txt', 'r') as arquivo:                         linhas = arquivo.readlines()                      linhas[9] = 'HpqPswd64.EXE -p''"' + senha + '" ' '-f"senha.bin" -s'                      with open(imagesdrive + ':\MENU\PW.txt', 'w') as arquivo:                         arquivo.writelines(linhas)                     shutil.copy(imagesdrive + ":\MENU\cf\BiosConfigUtility64.exe", "\\img-srv\x$  \TFTP\Image\Cliente\" + cliente + "\" + subpasta + "\DISM\")                     shutil.copy(imagesdrive + ":\MENU\cf\HpqPswd64.exe", "\\img-srv\x$  \TFTP\Image\Cliente\" + cliente + "\" + subpasta + "\DISM\")                     os.system("type " + imagesdrive + ":\MENU\PW.txt >>" + imagesdrive + ":\MENU\Final.txt")                     os.system("del /q " + imagesdrive + ":\MENU\PW.txt")               def at(att, imagesdrive, cliente, subpasta):                 att = str(CaixaDeEntrada6.get())                 cliente = str(CaixaDeEntrada1.get())                 subpasta = str(CaixaDeEntrada2.get())                 senha = str(CaixaDeEntrada5.get())                 if att == '' or att == '0':                     pass                 if att != '' or att != '0':                     shutil.copy(imagesdrive + ":\MENU\cf\ATT.txt", imagesdrive + ":\MENU\")                     shutil.copy(imagesdrive + ":\MENU\cf\HpFirmwareUpdRec64.exe ", "\\img-srv\x$  \TFTP\Image\Cliente\" + cliente + "\" + subpasta + "\Dism\")                     with open(imagesdrive + ':\MENU\ATT.txt', 'r') as arquivo:                         linhas = arquivo.readlines()                      linhas[16] = "hpFirmwareUpdrec64.exe -s -rb -" + senha + ".bin"                      with open(imagesdrive + ':\MENU\ATT.txt', 'w') as arquivo:                         arquivo.writelines(linhas)                     os.system("type " + imagesdrive + ":\MENU\ATT.txt >>" + imagesdrive + ":\MENU\Final.txt")                     os.system("del /q " + imagesdrive + ":\MENU\ATT.txt")                     pass               def bin(cliente, subpasta, att):                 cliente = str(CaixaDeEntrada1.get())                 subpasta = str(CaixaDeEntrada2.get())                 att = (CaixaDeEntrada6.get())                 if att == '' or att == '0':                     set(cliente, subpasta, imagesdrive)                 else:                     os.system("explorer.exe \\img-srv\x$  \TFTP\Image\Cliente\" + cliente + "\" + subpasta + "\DISM\")                     messagebox.showinfo('Torino Factory Deploy', "Coloque o arquivo " + att + ".bin dentro da pasta aberta, em: \r\n TFTP\Image\Cliente\" + cliente + "\" + subpasta + "\DISM\")                     pass               def set(cliente, subpasta, imagesdrive):                 cliente = str(CaixaDeEntrada1.get())                 subpasta = str(CaixaDeEntrada2.get())                 if kt.get() == 1:                        os.system("explorer.exe \\img-srv\x$  \TFTP\Image\Cliente\" + cliente + "\" + subpasta + "\DISM\")                     messagebox.showinfo('Torino Factory Deploy', "Coloque o arquivo TXT dentro da pasta aberta, em: \r\n TFTP\Image\Cliente\" + cliente + "\" + subpasta + "\DISM\ \r\n \r\n RENOMEIAR O ARQUIVO PARA SETBIOS.TXT \r\n RENOMEIAR O ARQUIVO PARA SETBIOS.TXT \r\n RENOMEIAR O ARQUIVO PARA SETBIOS.TXT \r\n RENOMEIAR O ARQUIVO PARA SETBIOS.TXT \r\n RENOMEIAR O ARQUIVO PARA SETBIOS.TXT \r\n RENOMEIAR O ARQUIVO PARA SETBIOS.TXT")                     shutil.copy(imagesdrive + ":\MENU\cf\BiosConfigUtility64.EXE", "\\img-srv\x$  \TFTP\Image\Cliente\" + cliente + "\" + subpasta + "\DISM")                     os.system("type " + imagesdrive + ":\MENU\cf\LG >>" + imagesdrive + ":\MENU\Final.txt")                     pass                 else:                     pass               def sht(ks, imagesdrive):                 if ks.get() == 1:                     shutil.copy(imagesdrive + ":\MENU\cf\CP.txt", imagesdrive + ":\MENU\")                     with open(imagesdrive + ':\MENU\CP.txt', 'r') as arquivo:                         linhas = arquivo.readlines()                      linhas[28] = 'wpeutil shutdown -s -t 00'                      with open(imagesdrive + ':\MENU\CP.txt', 'w') as arquivo:                         arquivo.writelines(linhas)                     pass                 if ks.get() == 2:                     shutil.copy(imagesdrive + ":\MENU\cf\CP.txt", imagesdrive + ":\MENU\")                     with open(imagesdrive + ':\MENU\CP.txt', 'r') as arquivo:                         linhas = arquivo.readlines()                      linhas[28] = 'wpeutil REBOOT'                     linhas[30] = 'shutdown -r -t 00'                      with open(imagesdrive + ':\MENU\CP.txt', 'w') as arquivo:                         arquivo.writelines(linhas)                     pass               def end(cliente, subpasta, imagem, ativo, mascara, senha, att, imagesdrive):                 cliente = str(CaixaDeEntrada1.get())                 subpasta = str(CaixaDeEntrada2.get())                 imagem = str(CaixaDeEntrada3.get())                 ativo = (CaixaDeEntrada4.get())                 mascara = str(CaixaDeEntrada7.get())                 senha = str(CaixaDeEntrada5.get())                 att = str(CaixaDeEntrada6.get())                 os.system("type " + imagesdrive + ":\MENU\CP.txt >>" + imagesdrive + ":\MENU\Final.txt")                 shutil.move(imagesdrive + ":\MENU\final.txt",  imagesdrive + ":\MENU\final.bat")                 os.system(imagesdrive + ":\MENU\bat.exe -bat " + imagesdrive + ":\MENU\final.bat -save " + imagesdrive + ":\MENU\factory.exe -icon " + imagesdrive + ":\MENU\ico.ico -x64 -productname " + imagem)                 os.system("timeout 3")                 shutil.copy(imagesdrive + ":/MENU/cf/WMIC.exe", imagesdrive + ":/MENU/")                 shutil.move(imagesdrive + ":/MENU/WMIC.exe", "\\img-srv\x$  \TFTP\Factory\Seriais\Service\" + cliente + ".exe")                 source_dir4="\\img-srv\x$  \TFTP\Image\ATLG\System\Factory.exe"                 exist1 = os.path.exists(source_dir4)                 if exist1 == True:                     os.system("explorer.exe \\img-srv\x$  \TFTP\Image\ATLG\System\")                     messagebox.showinfo('Torino Factory Deploy', "Arquivo 'factory.exe' já existe \r\n Armazene o arquivo atual dentro da pasta 'Serviços' \r\n Troque o nome, para melhor identificação")                 shutil.move(imagesdrive + ":\MENU\factory.exe", "\\img-srv\x$  \TFTP\Image\ATLG\System\")                 os.system("del /q " + imagesdrive + ":\MENU\base.txt")                 os.system("del /q " + imagesdrive + ":\MENU\final.bat")                 os.system("del /q " + imagesdrive + ":\MENU\CP.txt")                 messagebox.showinfo('Torino Factory Deploy', 'Serviço criado com sucesso.\r\n Cliente = ' + cliente + '\r\nSubPasta = ' + subpasta + '\r\nImagem = ' + imagem + '\r\nAtivo = ' + mascara + ativo + '\r\nSenha Bios = ' + senha + '\r\nAtualização Bios = ' + att)                 os.system("timeout 10")                 janela.destroy()              #==========================================Janela Inicial:              titulo = Label(top, bg='#DCDCDC', font=('Arial', '14', 'bold'), fg='BLACK', text='Login')             entry1 = Entry(top, width=21, bg='WHITE', font=('Comic Sans MS', '10')) #Username entry             info1 = Label(top, font=('Arial', '11'), fg='BLACK', bg='#DCDCDC', text='Usuário:')             entry2 = Entry(top, width=21, bg='WHITE', show="*", font=('Comic Sans MS', '10')) #Password entry             info2 = Label(top, font=('Arial', '11'), fg='BLACK', bg='#DCDCDC', text='Senha:')             button1 = Button(top, width='29', text='Entrar', font=('Arial','10'), command=lambda:command1()) #Login button             button2 = Button(top, width='29', text='Cancelar', font=('Arial','10'), command=lambda:command2()) #Cancel button              titulo.place(x='13', y='10')             entry1.place(x='70', y='50') #These pack the elements, this includes the items for the main window             info1.place(x='10', y='50')             entry2.place(x='70', y='90')             info2.place(x='10', y='90')             button1.place(x='11', y='130')             button2.place(x='11', y='165')              titulo1 = Label(bg='#DCDCDC', font=('Arial', '14', 'bold'), fg='BLACK', text='Digite o nome para:')             titulo1.place(x='13', y='10')              CaixaDeEntrada1 = Entry(width=25, bg='WHITE', font=('Comic Sans MS', '10'))             CaixaDeEntrada1.place(x=130, y=50)             Info1 = Label(font=('Arial', '11'), fg='BLACK', bg='#DCDCDC', text='Cliente:')             Info1.place(x=10, y=50)              CaixaDeEntrada2 = Entry(width=25, bg='WHITE', font=('Comic Sans MS', '10'))             CaixaDeEntrada2.place(x=130, y=75)             Info2 = Label(font=('Arial', '11'), fg='BLACK', bg='#DCDCDC', text='SubPasta:')             Info2.place(x=10, y=75)              CaixaDeEntrada3 = Entry(width=25, bg='WHITE', font=('Comic Sans MS', '10'))             CaixaDeEntrada3.place(x=130, y=100)             Info3 = Label(font=('Arial', '11'), fg='BLACK', bg='#DCDCDC', text='Imagem:')             Info3.place(x=10, y=100)              erro = Label(bg='#DCDCDC', fg='red', font=('Arial', '11'), text='')             erro.place(x=13, y=125)              proximo = Button(width='39', text='Confirmar', font=('Arial','10'), command=ok)             proximo.place(x=15, y=730)              titulo2 = Label(bg='#DCDCDC', font=('Arial', '14', 'bold'), fg='BLACK', text='Possui serviço de imagem?')             titulo2.place(x='13', y='145')              kw = IntVar()             kw.set(1)             RBTN1 = Radiobutton(janela, text='Sim, DISM', value='1', variable=kw, font=('Arial', '11'), fg='BLACK', bg='#DCDCDC')             RBTN1.place(x=10, y=175)             RBTN2 = Radiobutton(janela, text='Sim, IFW',value='2', variable=kw, font=('Arial', '11'), fg='BLACK', bg='#DCDCDC')             RBTN2.place(x=10, y=197)             RBTN3 = Radiobutton(janela, text='Não possui imagem', value='3', variable=kw, font=('Arial', '11'), fg='BLACK', bg='#DCDCDC')             RBTN3.place(x=10, y=219)              titulo3 = Label(bg='#DCDCDC', font=('Arial', '14', 'bold'), fg='BLACK', text='Possui gravação de patrimônio?')             titulo3.place(x='13', y='263')               CaixaDeEntrada4 = Entry(width=25, bg='white', font=('Comic Sans MS', '10'))             CaixaDeEntrada4.insert(0, '0')             CaixaDeEntrada4.place(x=130, y=293)             Info4 = Label(font=('Arial', '11'), fg='BLACK', bg='#DCDCDC', text='Digite o Nº:')             Info4.place(x=10, y=293)              titulo4 = Label(bg='#DCDCDC', font=('Arial', '14', 'bold'), fg='BLACK', text='Possui mascara de patrimônio?')             titulo4.place(x='13', y='326')              CaixaDeEntrada7 = Entry(width=25, bg='white', font=('Comic Sans MS', '10'))             CaixaDeEntrada7.insert(0, '0')             CaixaDeEntrada7.place(x=130, y=358)             Info7 = Label(font=('Arial', '11'), fg='BLACK', bg='#DCDCDC', text='Digite o N°:')             Info7.place(x=10, y=358)              titulo5 = Label(bg='#DCDCDC', font=('Arial', '14', 'bold'), fg='BLACK', text='Possui senha de BIOS?')             titulo5.place(x='13', y='394')               CaixaDeEntrada5 = Entry(width=25, bg='white', font=('Comic Sans MS', '10'))             CaixaDeEntrada5.insert(0, '0')             CaixaDeEntrada5.place(x=130, y=425)             Info5 = Label(font=('Arial', '11'), fg='BLACK', bg='#DCDCDC', text='Digite a Senha:')             Info5.place(x=10, y=425)              titulo6 = Label(bg='#DCDCDC', font=('Arial', '14', 'bold'), fg='BLACK', text='Possui atualização de BIOS?')             titulo6.place(x='13', y='461')              CaixaDeEntrada6 = Entry(width=25, bg='white', font=('Comic Sans MS', '10'))             CaixaDeEntrada6.insert(0, '0')             CaixaDeEntrada6.place(x=130, y=493)             Info6 = Label(font=('Arial', '11'), fg='BLACK', bg='#DCDCDC', text='Nome da BIN:')             Info6.place(x=10, y=493)               titulo7 = Label(bg='#DCDCDC', font=('Arial', '14', 'bold'), fg='BLACK', text='Possui setting de BIOS?')             titulo7.place(x='13', y='560')             kt = IntVar()             kt.set(1)             RBTN11 = Radiobutton(janela, text='Sim', value='1', variable=kt, font=('Arial', '11'), fg='BLACK', bg='#DCDCDC')             RBTN11.place(x=10, y=582)             RBTN12 = Radiobutton(janela, text='Não',value='2', variable=kt, font=('Arial', '11'), fg='BLACK', bg='#DCDCDC')             RBTN12.place(x=10, y=604)              titulo8 = Label(bg='#DCDCDC', font=('Arial', '14', 'bold'), fg='BLACK', text='Ao finalizar, o equipamento deve:')             titulo8.place(x='13', y='632')             ks = IntVar()             ks.set(1)             RBTN8 = Radiobutton(janela, text='Desligar', value='1', variable=ks, font=('Arial', '11'), fg='BLACK', bg='#DCDCDC')             RBTN8.place(x=10, y=658)             RBTN9 = Radiobutton(janela, text='Reiniciar',value='2', variable=ks, font=('Arial', '11'), fg='BLACK', bg='#DCDCDC')             RBTN9.place(x=10, y=680)               #=======================================FimDaJanelaInicial                if __name__ == '__main__':                  top.configure(bg='#DCDCDC')                 top.title('Torino Factory Deploy')                 top.wm_iconbitmap('ICO.ico')                 top.geometry('260x200+850+700')                  janela.resizable(width=False, height=False)                 janela.configure(bg='#DCDCDC')                 janela.title('Torino Factory Deploy')                 top.wm_iconbitmap('ICO.ico')                 janela.geometry('350x770+850+700')                 possibledrives = "CDEFGHIJKLMNOPQRSTUVWXYZ";                  cliente = str(CaixaDeEntrada1.get())                 subpasta = str(CaixaDeEntrada2.get())                 imagem = str(CaixaDeEntrada3.get())                 ativo = (CaixaDeEntrada4.get())                 mascara = (CaixaDeEntrada7.get())                 senha = str(CaixaDeEntrada5.get())                 att = str(CaixaDeEntrada6.get())                 Linha_Entry_1 = cliente                 Linha_Entry_2 = subpasta                 Linha_Entry_3 = imagem                 print (Linha_Entry_1)                 print (Linha_Entry_2)                 print (Linha_Entry_3)                 imagesdrive = "";                 founddrive = 0;                 for imagesdrive in possibledrives:                     menupath = imagesdrive + ":\MENU\"                     if os.path.isdir(menupath) :                         print('The images folder is on drive:' + imagesdrive + "\r\n")                         os.chdir(menupath)                         founddrive = 1;                          break;                  os.system("del /q " + imagesdrive + ":\MENU\base.txt")                  os.system("del /q " + imagesdrive + ":\MENU\CP.txt")                 shutil.copy(imagesdrive + ":/MENU/cf/base.txt", imagesdrive + ":/MENU/")                 shutil.move(imagesdrive + ":/MENU/base.txt", "final.txt")                 janela.withdraw()                 janela.mainloop() 

Script setup.py:

                        from cx_Freeze import setup, Executable                     import sys # Imports are automatically detected (normally) in the script to freeze                     import os                       base = None                       os.environ["TCL_LIBRARY"] = "<PathToPython>\Python\Python36-32\tcl\tcl8.6"                     os.environ["TK_LIBRARY"] = "<PathToPython>\Python\Python36-32\tcl\tk8.6"                      if sys.platform=='win32':                         base = "Win32GUI"                       executables = [cx_Freeze.Executable("main.py")]                          cx_Freeze.setup(                             name = "Name",                             options = {"build_exe":{"packages":["tkinter","matplotlib"],"include_files":["ico.ico", "<PathToPython>\\Python\Python36-32\DLLs\tcl86t.dll", "<PathToPython>\\Python\Python36-32\DLLs\tk86t.dll"]}},                             version="0.01",                             executables=executables)  

Todos os arquivos que o script utiliza, na mesma pasta:

inserir a descrição da imagem aqui