2015-10-09 3 views
-1

Я создал для себя довольно симпатичную программу, я предоставил код по запросу. Все это просто программа, которая представляет формы в Интернете и каждый раз принимает html-выходы и быстро преобразует ее в xlsx-файл.Где моя выходная программа?

Когда я это сделал на своем компьютере, он работал нормально и выводил файл .xlsx в мою папку с моими .py-файлами (у меня также был графический интерфейс). Затем я продолжил успешно упаковывать его и превращать в установщик с помощью cx_Freeze. Он успешно установлен на компьютере ANOTHER. (WOW я так счастлив :))

Однако, когда моя программа запускается, и я делаю все необходимые входные данные и такие, и запускаю мою программу ... МОЙ ФАЙЛ XLSX НЕТ НАЙДЕНО :(Как я могу его найти?

Вот код просто упаковывают: Этот файл называется insurance_premiums.py

__author__ = 'kennytruong' 
#CREATED BY KENNY TRUONG of SGV and CAL POLY POMONA 


import urllib.parse, urllib.request 
import xlsxwriter 
from bs4 import BeautifulSoup 
import time 
from tkinter import * 
import tkinter.messagebox 
import webbrowser 



def quit(): 
    quit() #for our installer 

def get_premiums(location, coverage_type, coverage_amt, home_age, worksheet, worksheet2, colholder): 
    formEntries = {'location':location, #fills out the form with our values 
        'coverageType':coverage_type, 
        'coverageAmount':coverage_amt, 
        'homeAge':home_age} 
    inputData = urllib.parse.urlencode(formEntries) 
    inputData = inputData.encode('utf-8') 
    request = urllib.request.Request(URL, inputData) #makes page request to URL and pases our encoded entries 
    response = urllib.request.urlopen(request) 
    responseData = response.read() #reads the output of submitting our form 
    soup = BeautifulSoup(responseData, "html.parser") #create my soup object with my data 
    parse_it(soup, worksheet, worksheet2, colholder) 


def parse_it(pass_soup, worksheet, worksheet2, colholder): 
    rows = [] 
    data_in_table = pass_soup.find_all('table') 
    t2 = None 
    for t3 in data_in_table: #need this to loop properly 
     t1, t2 = t2, t3 
    for row in t1.find_all('tr'): 
     cols = row.find_all(['td', 'th']) #find the stuff in the individual columns of the selected row 
     cols = [col.text.strip() for col in cols] #cols is a list of all our text values found in the <tr> tags 
     rows.append(cols) #adds our newly found info in cols into the list called 'rows' 
    data = [cols[0:3] for cols in rows] #gets first list (left side) 
    data2 = [cols[4:7] for cols in rows] #data2 is the right half, data is the left half 
    name_placeholder = 2 
    rowholder_s1 = 1 
    rowholder_s2 = 1 
    for row in data: #for the column with the title 
     output_name = row[0] 
     worksheet.write('A' + str(name_placeholder), output_name) 
     worksheet2.write('A' + str(name_placeholder), output_name) 
     name_placeholder += 1 
    for row in data: #SHEET 1 
     worksheet.write(rowholder_s1, colholder, row[1]) 
     worksheet.write(0, 0, "Deductible: " + row[2]) 
     rowholder_s1 += 1 
    for row in data2: #SHEET 2 
     worksheet2.write(rowholder_s2, colholder, row[1]) 
     worksheet2.write(0, 0, "Deductible: " + row[2]) 
     rowholder_s2 += 1 


def helpme(): 
    tkinter.messagebox.showinfo('Need help?', "Select your options by clicking on their respective radio buttons.\n\n\nOnly a valid combination " 
               "from the Homeowners Premium Survey\nwill work properly. Failure to select a valid combination will " 
               "result in an incorrect output!\n\nPlease be patient while the program runs.\n\n\nYou may also put a custom coverage amount. Please do not include " 
               "the\ncomma when typing in the entry, as this program is dependent on the current website configuration" 
               " of the California Department of Insurance Homeowners Premium Survey.\n\n\n\n" 
               "Created by Kenny Truong.\[email protected]\n\nPlease contact me for further support.\nAll Rights Reserved.") 


def aboutus(): 
    tkinter.messagebox.showinfo('About', "Here at Shift Insurance, we're committed to helping you get the " 
              "lowest rates and biggest savings, while providing high quality customer " 
              "service and a hassle free process. Part of that commitment means creating the " 
              "best tools possible which work around the clock to make sure that you're only getting " 
              "the best bang for your buck!\n\nThis tool is one of many in our arsenal which we use to" 
              " analyze regional data to make sure that you're getting the most value possible." 
              "\n\nCopyright 2015 Shift Insurance, All Rights Reserved.") 


def prepare_input(): #function to confirm input parameters 
    dowestart = tkinter.messagebox.askyesno(title='Verify Inputs', message='Your input parameters are:\n\n\nCOVERAGE TYPE: '+selected_coveragetype.get()+'\n\nSELECTED AGE: '+selected_age.get()+'\n\nCOVERAGE AMOUNT: '+selected_amount.get()+'\n\n\n\nARE YOU SURE YOU WANT TO CONTINUE?') #need function for yes 
    print('Type:', selected_coveragetype.get(),' Age:', selected_age.get(),' Amount:', selected_amount.get()) 
    if dowestart > 0: #if they confirm the parameters ok then we run the program. 
     start_time = time.clock() #to test the program time 
     coveragetype_torun = selected_coveragetype.get() 
     coverageamount_torun = selected_amount.get() 
     coverageage_torun = selected_age.get() 


     workbook = xlsxwriter.Workbook('insurance_premiums.xlsx') #creation of notebook 
     worksheet = workbook.add_worksheet() 
     worksheet2 = workbook.add_worksheet() 
     worksheet.set_column('A:A', 45) 
     worksheet.set_column('B:KK', 30) #sets the width of each column 
     worksheet2.set_column('A:A', 45) 
     worksheet2.set_column('B:KK', 30) 

     cityholder = 1 
     colholder = 1 

     for location in LOCATIONS: #need to pass their selection into this loop 
      worksheet.write(0,cityholder, location) #writes city name for sheet 1 + 2 
      worksheet2.write(0, cityholder , location) 
      update_status(location) 
      root.update() 
      print('Now running parameters: ', location, coveragetype_torun, coverageamount_torun, coverageage_torun) 
      get_premiums(location, coveragetype_torun, coverageamount_torun, coverageage_torun, worksheet, worksheet2, colholder) 
      cityholder += 1 
      colholder += 1 
     workbook.close() 
     mytimer(start_time) 
     print(time.clock() - start_time, "seconds") #for the time of the program 
    else: 
     return 

def mytimer(start_time): #function to do the timer 
    timer = time.clock() - start_time 
    timertext = 'Your excel file has been created! Analysis length in seconds: ' + str(timer) 
    status_bar.configure(text=timertext) 

def checksurvey_function(): #function to check website 
    webbrowser.open('https://interactive.web.insurance.ca.gov/survey/') 
    return 

def update_status(location): #function tup update status bar 
    updated_status_text = "Retrieving information for the city of: " + location 
    status_bar.configure(text=updated_status_text) 
    return 

URL = "https://interactive.web.insurance.ca.gov/survey/survey?type=homeownerSurvey&event=HOMEOWNERS" 

LOCATIONS = ''' 
ALAMEDA ALAMEDA 
ALAMEDA BERKELEY 
ALAMEDA FREMONT 
ALAMEDA HAYWARD 
ALAMEDA LIVERMORE 
ALAMEDA OAKLAND - Piedmont 
ALAMEDA OAKLAND - San Leandro 
ALAMEDA UNION CITY 
ALPINE MERKLEEVILLE 
AMADOR PIONEER 
BUTTE CHICO - Chapman Town 
BUTTE CHICO - Enloe Memorial Park 
CALAVERAS VALLEY SPRING 
COLUSA COLUSA 
CONTRA COSTA ANTIOCH 
CONTRA COSTA CONCORD 
CONTRA COSTA RICHMOND 
CONTRA COSTA WALNUT CREEK 
DEL NORTE CRESCENT CITY 
EL DORADO PLACERVILLE 
EL DORADO SO LAKE TAHOE 
FRESNO CLOVIS 
FRESNO FRESNO - Biola Junction 
FRESNO FRESNO - Sunnyside 
FRESNO Reedley 
GLENN ORLAND 
HUMBOLDT EUREKA - Carson Park 
HUMBOLDT EUREKA - Pine Hill 
HUMBOLDT MCKINLEYVILLE 
IMPERIAL CALEXICO 
IMPERIAL EL CENTRO 
INYO BISHOP 
KERN BAKERSFIELD - Kern City 
KERN BAKERSFIELD - Panama 
KERN DELANO 
KERN RIDGECREST 
KERN WASCO 
KINGS HANFORD 
LAKE LAKEPORT 
LASSEN SUSANVILLE 
LOS ANGELES ALHAMBRA 
LOS ANGELES ALTADENA 
LOS ANGELES AZUSA 
LOS ANGELES BALDWIN PARK 
LOS ANGELES BELL 
LOS ANGELES BELLFLOWER 
LOS ANGELES BURBANK 
LOS ANGELES CANOGA PARK 
LOS ANGELES CANYON COUNTRY 
LOS ANGELES CARSON 
LOS ANGELES CERRITOS 
LOS ANGELES CHATSWORTH 
LOS ANGELES COMPTON 
LOS ANGELES CULVER CITY 
LOS ANGELES EL SEGUNDO 
LOS ANGELES GARDENA 
LOS ANGELES GLENDALE 
LOS ANGELES GLENDORA 
LOS ANGELES HAWTHORNE 
LOS ANGELES HOLLYWOOD-WEST 
LOS ANGELES HUNTINGTON PARK 
LOS ANGELES INGLEWOOD 
LOS ANGELES LA PUENTE 
LOS ANGELES LA-CENTRAL 
LOS ANGELES LA-EAST 
LOS ANGELES LA-ECHO PARK-SILVER LAKE 
LOS ANGELES LA-EL SERENO 
LOS ANGELES LA-GRIFFITH 
LOS ANGELES LA-HIGHLAND PARK 
LOS ANGELES LA-MAR VISTA-CULVER CITY 
LOS ANGELES LA-MID CITY 
LOS ANGELES LA-SO. CENTRAL 
LOS ANGELES LA-VERMONT 
LOS ANGELES LA-WAGNER 
LOS ANGELES LA-WEST 
LOS ANGELES LA-WESTCHESTER 
LOS ANGELES LA-WILSHIRE-LA BREA 
LOS ANGELES LAKEWOOD 
LOS ANGELES LANCASTER 
LOS ANGELES LONG BEACH 
LOS ANGELES LONG BEACH - COLLEGE 
LOS ANGELES MONROVIA 
LOS ANGELES MONTEBELLO 
LOS ANGELES MONTEREY PARK 
LOS ANGELES NORTHRIDGE - 91325 
LOS ANGELES NORTHRIDGE - 91326 
LOS ANGELES NORWALK 
LOS ANGELES PACIFIC PALISADES 
LOS ANGELES PACOIMA 
LOS ANGELES PALMDALE 
LOS ANGELES PALOS VERDES 
LOS ANGELES PANORAMA CITY 
LOS ANGELES PASAADENA 
LOS ANGELES PICO RIVERA 
LOS ANGELES POMONA 
LOS ANGELES RANCHO PALOS VERDE 
LOS ANGELES REDONDO BEACH 
LOS ANGELES RESEDA 
LOS ANGELES ROSEMEAD 
LOS ANGELES SAN PEDRO 
LOS ANGELES SANTA CLARITA 
LOS ANGELES SANTA MONICA 
LOS ANGELES SOUTH GATE 
LOS ANGELES SYLMAR 
LOS ANGELES TEMPLE CITY 
LOS ANGELES TORRANCE 
LOS ANGELES VAN NUYS 
LOS ANGELES WEST COVINA 
LOS ANGELES WOODLAND HILLS 
MADERA MADERA - East Madera 
MADERA MADERA - West Madera 
MARIN MILL VALLEY 
MARIN SAN RAFAEL 
MARIPOSA MARIPOSA 
MENDOCINO UKIAH 
MENDOCINO WILLITS 
MERCED MERCED 
MODOC ALTURAS 
MONO MAMMOTH LAKES 
MONTEREY MONTEREY 
MONTEREY SALINAS 
MONTEREY SEASIDE 
NAPA NAPA 
NEVADA GRASS VALLEY 
ORANGE ANAHEIM - Brookhurst Center 
ORANGE ANAHEIM - Federal 
ORANGE BUENA PARK 
ORANGE COSTA MESA 
ORANGE FOUNTAIN VALLEY 
ORANGE FULLERTON 
ORANGE GARDEN GROVE 
ORANGE HUNTINGTON BH 
ORANGE IRVINE 
ORANGE LA HABRA 
ORANGE LAGUNA BEACH 
ORANGE LAGUNA NIGUEL 
ORANGE LAKE FOREST 
ORANGE MISSION VIEJO 
ORANGE NEWPORT BEACH 
ORANGE ORANGE 
ORANGE PLACENTIA 
ORANGE SAN CLEMENTE 
ORANGE SANTA ANA - Centennial Park 
ORANGE SANTA ANA - Logan Park 
ORANGE STANTON 
ORANGE TUSTIN 
ORANGE WESTMINSTER 
ORANGE YORBA LINDA 
PLACER LINCOLN 
PLACER ROSEVILLE - Downtown 
PLACER ROSEVILLE - Maidu Park 
PLUMAS QUINCY 
RIVERSIDE BANNING 
RIVERSIDE CATHEDRAL CITY 
RIVERSIDE CORONA - 92879 
RIVERSIDE CORONA - 92882 
RIVERSIDE DESERT HOT SPRINGS 
RIVERSIDE HEMET 
RIVERSIDE INDIO 
RIVERSIDE LAKE ELSINORE 
RIVERSIDE MORENO VALLEY 
RIVERSIDE MURRIETA 
RIVERSIDE PERRIS 
RIVERSIDE RIVERSIDE - 92503 
RIVERSIDE RIVERSIDE - 92506 
RIVERSIDE TEMECULA 
SACRAMENTO CARMICHAEL 
SACRAMENTO FAIR OAKS 
SACRAMENTO FOLSOM 
SACRAMENTO FRUITRIDGE 
SACRAMENTO GREENHAVEN 
SACRAMENTO SACRAMENTO - Rosemont 
SACRAMENTO SACRAMENTO - Southgate 
SAN BENITO HOLLISTER 
SAN BERNARDINO ADELANTO 
SAN BERNARDINO BARSTOW 
SAN BERNARDINO BIG BEAR LAKE 
SAN BERNARDINO CHINO 
SAN BERNARDINO CHINO HILLS 
SAN BERNARDINO COLTON 
SAN BERNARDINO FONTANA 
SAN BERNARDINO HESPERIA 
SAN BERNARDINO ONTARIO 
SAN BERNARDINO RANCHO CUCAMONGA 
SAN BERNARDINO REDLAND 
SAN BERNARDINO RUNNING SPRINGS 
SAN BERNARDINO SAN BERNARDINO 
SAN BERNARDINO TWENTYNINE PALMS 
SAN BERNARDINO UPLAND 
SAN BERNARDINO VICTORVILLE 
SAN BERNARDINO YUCAIPA 
SAN DIEGO CARLSBAD 
SAN DIEGO CHULA VISTA 
SAN DIEGO DEL MAR 
SAN DIEGO EL CAJON 
SAN DIEGO ENCINITAS 
SAN DIEGO ESCONDIDO 
SAN DIEGO FALLBROOK 
SAN DIEGO LA MESA 
SAN DIEGO LAKESIDE 
SAN DIEGO MIRA MESA 
SAN DIEGO NATIONAL CITY 
SAN DIEGO OCEAN BEACH 
SAN DIEGO OCEANSIDE 
SAN DIEGO PACIFIC BEACH 
SAN DIEGO POWAY 
SAN DIEGO RAMONA 
SAN DIEGO RANCHO BERNARDO 
SAN DIEGO SAN DIEGO - 92105 
SAN DIEGO SAN DIEGO - 92154 
SAN DIEGO SAN MARCOS 
SAN DIEGO SPRING VALLEY 
SAN FRANCISCO SAN FRANCISCO - Glen Park 
SAN FRANCISCO SAN FRANCISCO - Mission 
SAN FRANCISCO SAN FRANCISCO - Nob Hill 
SAN FRANCISCO SAN FRANCISCO-Sunset District 
SAN JOAQUIN STOCKTON - 95206 
SAN JOAQUIN STOCKTON - 95207 
SAN JOAQUIN TRACY 
SAN L OBISPO SAN L OBISPO 
SAN LUIS OBISPO PASO ROBLES 
SAN MATEO DALY CITY 
SAN MATEO PACIFICA 
SAN MATEO REDWOOD CITY 
SAN MATEO SAN MATEO 
SANTA BARBARA LOMPOC 
SANTA BARBARA SANTA BARBARA - Downtown 
SANTA BARBARA SANTA BARBARA - El Sueno 
SANTA BARBARA SANTA MARIA 
SANTA CLARA CAMPBELL 
SANTA CLARA CUPERTINO 
SANTA CLARA EAST PALO ALTO 
SANTA CLARA SAN JOSE - 95111 
SANTA CLARA SAN JOSE - 95127 
SANTA CLARA SAN JOSE - Alamitos 
SANTA CLARA SAN JOSE - Campbell 
SANTA CLARA SANTA CLARA 
SANTA CLARA SUNNYVALE 
SANTA CRUZ SANTA CRUZ 
SANTA CRUZ WATSONVILLE 
SHASTA REDDING - Enterprise 
SHASTA REDDING - Silverthorn 
SIERRA LOYALTON 
SISKIYOU YREKA 
SOLANO FAIRFIELD 
SOLANO SUISUN CITY 
SOLANO VACAVILLE 
SOLANO VALLEJO - Castlewood Park 
SOLANO VALLEJO - Downtown 
SONOMA PETALUMA 
SONOMA SANTA ROSA - City Park 
SONOMA SANTA ROSA-Montgomery Village 
STANISLAUS MODESTO - Dry Creek 
STANISLAUS MODESTO - Whitmore Park 
STANISLAUS TURLOCK 
SUTTER YUBA CITY 
TEHAMA RED BLUFF 
TRINITY LEWISTON 
TULARE PORTERVILLE 
TULARE VISALIA 
TUOLUMNE JAMESTOWN 
TUOLUMNE SONORA 
VENTURA CAMARILLO 
VENTURA OXNARD - Northwest 
VENTURA OXNARD - South 
VENTURA SIMI VALLEY 
VENTURA THOUSAND OAKS 
YOLO DAVIS 
YOLO WOODLAND 
YUBA MARYSVILLE 
'''.strip().split('\n') #strip() basically removes whitespaces 




root = Tk() 
root.geometry('1100x530+50+50') #makes a window 850x700px and 50px from top and 50px from left corner 
root.title('Shift Insurance Premium Rate Comparison Tool') 


image = PhotoImage(file='shift insurance.gif') #have to create an object for it 
image_label = Label(root, image=image) 
image_label.place(x=0,y=0) #places the image in the top left 

title = Label(text="To begin, select one option for the type of insurance, coverage amount, and home age. An xml file containing the most\n recent information from the California Department of Insurance Homeowners Premium Survey will be created.\nIt will run every city available, so please make sure to verify the validity of your inputs", font=('Arial', 12)) 
title.place(x=275,y=0) 

help_button = Button(root, text="HELP", command=helpme, padx=10, pady=5, bg='#1488CD') #tie help button to function helpme() 
help_button.place(x=300,y=65) 

about_button = Button(root, text="ABOUT", command=aboutus, padx=10, pady=5, bg='#1488CD') 
about_button.place(x=385,y=65) 

go_button = Button(root, text="BEGIN ANALYSIS", command=prepare_input, padx=25, pady=5, bg='green') 
go_button.place(x=900,y=67) 

checksurvey_button = Button(root, text="HOMEOWNERS PREMIUM SURVEY", command=checksurvey_function, padx=10, pady=5, bg='#1488CD') 
checksurvey_button.place(x=480, y=65) 




#***THE FRAME FOR THE STATUS BAR************************************************************ 

status_bar = Label(root, text='Select options then begin analysis.', bd=1, relief=SUNKEN, anchor=W) #creates our status bar and relief is sunken so it will sink in. Anchor is where we want our WORDS! 
status_bar.pack(side=BOTTOM, fill=X) 
#******************************************************************************************** 




#****THE FRAME FOR THE TYPE OF INSURANCE COVERAGE************************************************** 
type_frame = Frame(root, width=1100, height=100) #make frame so easier to work with 
type_frame.place(x=0, y=130) 
type_description = Label(type_frame, text="Select one type of insurance from the following:")  #create a label inside type_frame for simpler placement 
type_description.place(x=10, y=15) #place at these coordinates within type_frame 

selected_coveragetype = StringVar() 
selected_coveragetype.set("HOMEOWNERS") #sets the default to the button with value "1" 
type_radio1 = Radiobutton(type_frame, text='HOMEOWNERS', value ='HOMEOWNERS', variable=selected_coveragetype).place(x=320, y=15) #each item needs its own value, but these are all for 1 variable called selected_coveragetype 
type_radio2 = Radiobutton(type_frame, text='CONDOMINIUM', value ='CONDOMINIUM', variable=selected_coveragetype).place(x=460, y=15) 
type_radio3 = Radiobutton(type_frame, text='MOBILEHOME', value ='MOBILEHOME', variable=selected_coveragetype).place(x=600, y=15) 
type_radio4 = Radiobutton(type_frame, text='RENTERS', value ='RENTERS', variable=selected_coveragetype).place(x=730, y=15) 
type_radio5 = Radiobutton(type_frame, text='EARTHQUAKE - Single Family', value='EARTHQUAKE - Single Family', variable=selected_coveragetype).place(x=830, y=15) 
type_radio6 = Radiobutton(type_frame, text='EARTHQUAKE - Condominium', value='EARTHQUAKE - Condominium', variable=selected_coveragetype).place(x=320, y=55) 
type_radio7 = Radiobutton(type_frame, text='EARTHQUAKE - Mobilehome', value='EARTHQUAKE - Mobilehome', variable=selected_coveragetype).place(x=545, y=55) 
type_radio8 = Radiobutton(type_frame, text='EARTHQUAKE - Renters', value='EARTHQUAKE - Renters', variable=selected_coveragetype).place(x=760, y=55) 
#probably need a function to put that data into the input 






#*****THE FRAME FOR THE SELECTED AGE OF INSURANCE COVERAGE***************************** 
age_frame = Frame(root, width=1100, height=100) 
age_frame.place(x=0, y=265) 
age_description = Label(age_frame, text="Select one home age from the following:\n(You may also input your own, but only\n a valid home age will work)") 
age_description.place(x=10, y=15) 

selected_age = StringVar() 
selected_age.set('New') #sets default 
age_radio1 = Radiobutton(age_frame, text='New', value='New', variable=selected_age).place(x=320, y=15) 
age_radio2 = Radiobutton(age_frame, text='1-3 Years', value='1-3 Years', variable=selected_age).place(x=390,y=15) 
age_radio3 = Radiobutton(age_frame, text='1-15 Years', value='1-15 Years', variable=selected_age).place(x=485,y=15) 
age_radio4 = Radiobutton(age_frame, text='4-6 Years', value='4-6 Years', variable=selected_age).place(x=580,y=15) 
age_radio5 = Radiobutton(age_frame, text='7-15 Years', value='7-15 Years', variable=selected_age).place(x=685,y=15) 
age_radio6 = Radiobutton(age_frame, text='16-25 Years', value='16-25 Years', variable=selected_age).place(x=790,y=15) 
age_radio7 = Radiobutton(age_frame, text='16-30 Years', value='16-30 Years', variable=selected_age).place(x=895,y=15) 
age_radio8 = Radiobutton(age_frame, text='26-40 Years', value='26-40 Years', variable=selected_age).place(x=320,y=55) 
age_radio9 = Radiobutton(age_frame, text='41-70 Years', value='41-70 Years', variable=selected_age).place(x=425,y=55) 
age_radio10 = Radiobutton(age_frame, text='Not Applicable', value='NA', variable=selected_age).place(x=530,y=55) 
#************************************************************************************* 





#******THE FRAME FOR THE SELECTED AMOUNT OF INSURANCE COVERAGE***************** 
amount_frame = Frame(root, width=1100, height=100) 
amount_frame.place(x=0, y=400) 

amount_description = Label(amount_frame, text="Select a coverage amount from the following:\n(You may also input your own\n valid custom amount)") 
amount_description.place(x=10,y=15) 

selected_amount = StringVar() 
selected_amount.set('15000') 
amount_radio1 = Radiobutton(amount_frame, text='15000', value='15000', variable=selected_amount).place(x=320,y=15) 
amount_radio2 = Radiobutton(amount_frame, text='25000', value='25000', variable=selected_amount).place(x=400,y=15) 
amount_radio3 = Radiobutton(amount_frame, text='35000', value='35000', variable=selected_amount).place(x=480,y=15) 
amount_radio4 = Radiobutton(amount_frame, text='50000', value='50000', variable=selected_amount).place(x=560,y=15) 
amount_radio5 = Radiobutton(amount_frame, text='75000', value='75000', variable=selected_amount).place(x=640,y=15) 
amount_radio6 = Radiobutton(amount_frame, text='100000', value='100000', variable=selected_amount).place(x=720,y=15) 
amount_radio7 = Radiobutton(amount_frame, text='150000', value='150000', variable=selected_amount).place(x=805,y=15) 
amount_radio8 = Radiobutton(amount_frame, text='200000', value='200000', variable=selected_amount).place(x=890,y=15) 
amount_radio9 = Radiobutton(amount_frame, text='250000', value='250000', variable=selected_amount).place(x=980,y=15) 
amount_radio10 = Radiobutton(amount_frame, text='300000', value='300000', variable=selected_amount).place(x=320,y=55) 
amount_radio11 = Radiobutton(amount_frame, text='400000', value='400000', variable=selected_amount).place(x=400,y=55) 
amount_radio12 = Radiobutton(amount_frame, text='500000', value='500000', variable=selected_amount).place(x=480,y=55) 
amount_radio13 = Radiobutton(amount_frame, text='750000', value='750000', variable=selected_amount).place(x=560,y=55) 
amount_radio14 = Radiobutton(amount_frame, text='Not Applicable', value='NA', variable=selected_amount).place(x=640, y=55) 
custom_amount_text = Label(amount_frame, text='AMOUNT:  $').place(x=850, y=58) 

custom_amount_entry = Entry(amount_frame, textvariable=selected_amount, width=15) 
custom_amount_entry.place(x=930, y=58) 

#**************************************************************************** 








root.mainloop() #keeps it continously going. 

И этот файл называется setup.py

import cx_Freeze 
import sys 


base = None 
if sys.platform =='win32': 
    base = 'Win32GUI' 
executables = [cx_Freeze.Executable("insurance_premiums.py", base=base, icon='shift_insurance.ico')] #1.what we execute 2.base of execution 3.anything else added on 

cx_Freeze.setup(
    name="Shift Insurance Premiums Tool", 
    options={"build_exe":{"packages":["tkinter","urllib.parse", "urllib.request", "xlsxwriter", "bs4", "time", "webbrowser"],"include_files":["shift insurance.gif", "shift_insurance.ico"]}}, 
    version='1.0', 
    description="Shift Insurance tool for analyzing insurance premiums", 
    executables = executables 
) 

МОЖЕТ КТО-ТО ПОЖАЛУЙСТА, ПОМОГИТЕ !!?!?!? Есть ли специальная команда?

+0

Где вы установили файл на второй компьютер? – Holloway

+0

Я установил файл, где он должен был быть установлен по умолчанию. (просто продолжал нажимать дальше) –

+0

Я проверил эту папку, она не работает. Эта папка находится в моих программных файлах, и в ней создана новая папка, называемая инструментом страхования страховых взносов. –

ответ

0

EDIT: ПРОБЛЕМА РЕШАЛА. ПРОСТАЯ РЕИНСТАЛЛЯЦИЯ И РЕШЕНИЕ ВЫШЕ РАБОТАЕТ. ТАКЖЕ ДОЛЖНО СДЕЛАТЬ, ЧТО УСТАНАВЛИВАЕТСЯ УПАКОВКА MICROSOFT VISUAL STUDIO REDISTRIBUTABLE (не знаю, почему, но некоторые компьютеры, у которых нет msvs 2010, не могут использовать программу)

Смежные вопросы