title: py to exe : failed to execute script pyi_rth_win32comgenpy
body: <p>I'm creating a simple calculation program using tkinter module and want to convert to exe as I want it to be executable at any pc. But somehow the error message show (failed to execute script pyi_rth_win32comgenpy).</p>
  
  <p>I've try used pyinstaller ( cmd and the one on GitHub at : <a href="https://github.com/brentvollebregt/auto-py-to-exe" rel="nofollow noreferrer">https://github.com/brentvollebregt/auto-py-to-exe</a>) but to no avail. I also try using both types of python file (.py and .pyw)</p>
  
  <pre><code>from tkinter import *
  from tkinter.filedialog import askopenfilename
  import pandas as pd
  from tkinter import messagebox
  from pandastable import Table, TableModel
  
  class Window(Frame):
  
      def __init__(self, master =None):
          Frame.__init__(self, master)
  
          self.master = master
          self.init_window()
  
      def init_window(self):
  
          self.master.title('GUI')
          self.pack(fill=BOTH, expand=1)
  
          quitButton = Button(self, text='quit', command=self.client_exit)
          quitButton.place(x=0, y=230)
  
          # fileButton = Button(self, text='Browse Data Set', command=self.import_data)
          # fileButton.place(x=150, y=0)
  
          fileButton = Button(self, text='SBO', command=self.sbo)
          fileButton.place(x=200, y=50)
  
          fileButton = Button(self, text='CBO', command=self.cbo)
          fileButton.place(x=150, y=50)
  
  
          # menu = Menu(self.master)
          # self.master.config(menu=menu)
          # 
          # file = Menu(menu)
          # file.add_command(label='Save',command=self.client_exit)
          # file.add_command(label='Exit', command= self.client_exit)
          # menu.add_cascade(label='File', menu=file)
          # 
          # edit = Menu(menu)
          # edit.add_command(label='Undo')
          # menu.add_cascade(label='Edit', menu=edit)
  
      def client_exit(self):
          exit()
  
      # def import_data(self):
      #
      #     csv_file_path = askopenfilename()
      #     # print(csv_file_path)
      #     df = pd.read_excel(csv_file_path)
      #     return df
  
      def sbo(self):
  
          csv_file_path = askopenfilename()
          df = pd.read_excel(csv_file_path)
  
          data = df.drop(df.index[0])  # remove first row
  
  
  
          data['BOVal%'] = data['BOVal%'].astype(str)  # convert to string
          data['BOQty%'] = data['BOQty%'].astype(str)
          data['CustomerPONo'] = data['CustomerPONo'].astype(str)
          data['OrdNo'] = data['OrdNo'].astype(str)
          data['VendorNo'] = data['VendorNo'].astype(str)
  
          pivot = data.pivot_table(index='Style', aggfunc='sum')  # first pivot
          pivoted = pd.DataFrame(pivot.to_records())  # flattened
          pivoted = pivoted.sort_values(by=['BOVal'], ascending=False)  # sort largest to smallest
  
          pivoted['Ranking'] = range(1, len(pivoted) + 1)  # Ranking
  
          cols = pivoted.columns.tolist()
          cols = cols[-1:] + cols[:-1]
          pivoted = pivoted[cols]
          pivoted = pivoted.set_index('Ranking')
  
          col = df.columns.tolist()
          col = (col[22:23] + col[15:17] + col[:14] + col[17:22] + col[23:37])  # rearrange column
          data = df[col]
  
          data = data.sort_values(by=['BOVal'], ascending=False)  # sort value
  
          data['Ranking'] = range(1, len(data) + 1)  # Set rank
          colm = data.columns.tolist()
          colm = colm[-1:] + colm[:-1]  # rearrange rank column
          data = data[colm]
  
          data = data.set_index('Ranking')
  
          # sumboval = data['BOVal'].sum()
          # sumboqty = data['BOQty'].sum()
  
          # rounded = sumboval.round()
  
          dates = data['SnapShotDate']
          # print(dates)
          dates = dates.iloc[1].strftime('%d%m%Y')
  
          sos = data['SOS']
          sos = sos[2]
  
  
  
          result = pivoted.iloc[:10, :3]
  
          # Create a Pandas Excel writer using XlsxWriter as the engine.
          writer = pd.ExcelWriter('%s SBO %s .xlsx' % (sos, dates), engine='xlsxwriter')
  
          # Write each dataframe to a different worksheet.
          result.to_excel(writer, sheet_name='pivot')
          df.to_excel(writer, sheet_name=dates)
          data.to_excel(writer, sheet_name='SBO')
  
          # Close the Pandas Excel writer and output the Excel file.
          writer.save()
  
          messagebox.showinfo("Note", "Calculation Completed")
  
      def cbo(self):
  
          csv_file_path = askopenfilename()
          Stylemat = askopenfilename()
          df = pd.read_excel(csv_file_path)
          sm = pd.read_excel(Stylemat)
  
          df = df.drop(df.index[0])
          df.insert(loc=8, column='PH', value=['' for i in range(df.shape[0])])
          df.insert(loc=9, column='Site', value=['' for i in range(df.shape[0])])
  
          df['Region'] = df['Region'].fillna('"NA"')
  
          df['S&amp;OP Style Aggrt'] = df['S&amp;OP Style Aggrt'].astype(str)
          sm['Style'] = sm['Style'].astype(str)
  
  
          dates = df['Date_Rp']
          # print(dates)
          dates = dates.iloc[1]
          w = list(dates)
          w[1] = '-'
          w[3] = '-'
          temp = w[0]
          w[0] = w[2]
          w[2] = temp
          dates = "".join(w)
  
  
          rowcount = len(df)
          rowstyle = len(sm)
  
          i = 0
          j = 0
          Style = []
  
          for i in range(rowcount):
  
              for j in range(rowstyle):
  
                  if df.iloc[i, 7] == sm.iloc[j, 0]:
                      df.iloc[i, 8] = 'Horizon'
                      df.iloc[i, 9] = sm.iloc[j, 2]
  
  
  
          table = pd.pivot_table(df[df.PH == 'Horizon'], index='S&amp;OP Style Aggrt', columns='Region',
                                 values='Net CBO Value', aggfunc='sum')
  
          table['Grand Total'] = table.sum(axis=1)
  
          table = table.sort_values(by=['Grand Total'], ascending=False)
  
          table['Ranking'] = range(1, len(table) + 1)
  
          # Create a Pandas Excel writer using XlsxWriter as the engine.
          writer = pd.ExcelWriter('CBO %s .xlsx' % dates, engine='xlsxwriter')
  
          # Write each dataframe to a different worksheet.
          table.to_excel(writer, sheet_name='pivot')
          df.to_excel(writer, sheet_name=dates)
          sm.to_excel(writer, sheet_name='StyleMat')
  
          # Close the Pandas Excel writer and output the Excel file.
          writer.save()
  
          messagebox.showinfo("Note", "Calculation Completed")
  
  
  root = Tk()
  root.geometry('400x300')
  
  app = Window(root)
  
  root.mainloop()
  </code></pre>
  
  <p>I'd like to know how to find the main reason for this error and where to look for it, is it either my scripting method is incorrect or is there any additional file or module that I need. Appreciate in advance for your help. Thank you</p>