Объединить мои файлы в один exe Python с помощью автозапуска и Py2Exe не работает

#python #py2exe #autopy

#питон #py2exe #автокопия

Вопрос:

У меня в приложении есть три файла: один для Tkinter, один для сценария и, наконец, один для конфигурации. Я пытался, но просто не могу собрать файлы в один, я просто не могу найти. Мой код Tkinter:

 import tkinter as tk import tkinter.filedialog as file_dialog import threading import SCRIPT import configparser   #class Config helps writing and reading from config.ini file. class Config:  def __init__(self):  self.config = configparser.ConfigParser()  self.read()   def set(self, key, value):  self.config.set('setup', key, value)  self.write()   def write(self):  with open('config.ini', 'w') as f:  self.config.write(f)   def read(self):  self.config.read('config.ini')   def get(self, key):  self.read()  return self.config.get('setup', key)   def start_your_script():  threading.Thread(target=SCRIPT.start,args=(Config().get("csv_path"), Config().get("exe_path"))).start()   def open_file_dialog(chromedriver_path=False,csv_path=False):  if csv_path:  path = file_dialog.askopenfilename(filetypes=[("CSV Files", "*.csv")])  Config().set("csv_path",path)   elif chromedriver_path:  path = file_dialog.askopenfilename(filetypes=[("Applications", "*.exe")])  Config().set("exe_path",path)  Config().write() window = tk.Tk() window.title("") window.geometry('350x200') window.configure(background='#ffffff')  panel = tk.Frame(window) panel.pack(expand=True)  lbl = tk.Label(window, text="CSV File", font=("Arial Bold", 12),fg='white',bg='lightblue',width=12) lbl.pack(expand=True)   btnCSV = tk.Button(window, text="Select",command=lambda: open_file_dialog(csv_path=True),font=("Arial Bold", 12)) btnCSV.pack(expand=True)  lbl = tk.Label(window, text="Chrome Driver",font=("Arial Bold", 12),fg='white',bg='lightblue',width=12) lbl.pack(expand=True)  btnCD = tk.Button(window, text="Select",command=lambda: open_file_dialog(chromedriver_path=True),font=("Arial Bold", 12)) btnCD.pack(expand=True)  btnCD = tk.Button(window, text="Start",command=start_your_script,font=("Arial Bold", 12),fg="white",bg="green",width=15) btnCD.pack(expand=True)  tk.mainloop()   

И мой код сценария:

 # ------------------------------------------------------------------------------- # Imports import csv import requests from selenium import webdriver import time # ------------------------------------------------------------------------------- # Setup  def start(data,exe_path):   driver = webdriver.Chrome(executable_path=exe_path)  #add this line  driver.implicitly_wait(10)    driver.get('http:///')   fname_field = driver.find_element_by_xpath('//*[@id="FIRSTNAME"]')  lname_field = driver.find_element_by_xpath('//*[@id="LASTNAME"]')  phone_field = driver.find_element_by_xpath('//*[@id="PHONE"]')  mail_field = driver.find_element_by_xpath('//*[@id="EMAIL"]')  deposit_field = driver.find_element_by_xpath('//*[@id="DEPOSIT"]')  submit = driver.find_element_by_xpath('//*[@id="sib-form"]/div[8]/div/button')    with open(data, 'r') as csv_file:  csv_reader = csv.reader(csv_file,delimiter=';')  # -------------------------------------------------------------------------------  # Web Automation   next(csv_reader)  for line in csv_reader:    time.sleep(1.8)    fname_field.send_keys(line[10])  lname_field.send_keys(line[11])  mail_field.send_keys(line[13])  phone_field.send_keys(line[16])  deposit_field.send_keys(line[37])  submit.click()  # wait for notifcation --gt; driver.implicitly_wait(10) sets up the driver so it will wait for 10 seconds  try:  if "Bidder added successfully" == driver.find_element_by_class_name('sib-form-message-panel__inner-text').text:  # close the notifcation or just continue  pass  else:  #bidder wasn't added succesfully  pass  except:  print("driver didn't find the element with 10 seconds wait period")  driver.quit()  

И, наконец, мой конфигурационный файл

 [setup]  

Я несколько часов пытался заставить это работать, пожалуйста, любая и вся помощь оценена по достоинству.