我有一个问题,我真的希望你们中的一些人能给我一个好的建议。我坐在这里-fbprophet已经安装-并尝试创建一个exe文件为Windows10使用pyinstaller。你知道吗
一开始,我尝试了一个小代码,看看我是否知道如何处理pyinstaller语法(没有fbprophet),如下面所示
import PySimpleGUI as sg
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
excel_path=sg.PopupGetFile("Select Excel file to forecast",title="Excel file to forecast",icon="Mann+Hummel.ico")
data=pd.read_excel(str(excel_path))
data["ds"]=pd.to_datetime(data["ds"])
liste=[names for names in data.columns if names != "ds"]
frequency=["D","W","MS","Q","A"]
cut_off=int(0.7*len(data.index))
minimum_periode=(int(0.3*len(data.index))+1)
#sg.ChangeLookAndFeel("GreenTan")
sg.SetOptions(text_justification="right")
layout = [[sg.Text('Fbprophet forecast Command Line Parameters', font=('Helvetica', 16))],
[sg.Text('_' * 100, size=(65, 1))],
[sg.Text('External parameters', font=('Helvetica', 15), justification='left')],
[sg.Text("Put excel sheet to analyze"),sg.Input(str(excel_path),size=(50,1))], #values[0]
[sg.Text('_' * 100, size=(65, 1))],
[sg.Text('External parameters', font=('Helvetica', 15), justification='left')],
[sg.Text("Select product",size=(20,1),justification="left"),sg.Drop(values=liste,size=(10,1))], #values[1]
[sg.Text("Forecast period",size=(20,1),justification="left"),sg.Slider(range=(minimum_periode,2*minimum_periode),orientation='h',default_value=minimum_periode)],#values[2]
[sg.Text("Observation bin",size=(20,1),justification="left"),sg.DropDown(values=frequency,size=(10,1))],#values[3]
[sg.Text("Add Holidays",size=(20,1),justification="left"),sg.DropDown(values=frequency,size=(10,1))], #values[4]
[sg.Text('_' * 100, size=(65, 1))],
[sg.Text('Fbprophet parameters', font=('Helvetica', 15), justification='left')],
[sg.Text("Changepoint_prior_scale",size=(20,1),justification="left"),sg.Spin(values=[i for i in np.linspace(0.05,2,10)],initial_value=0.05)], #values[5]
[sg.Text("Changepoint_range",size=(20,1),justification="left"),sg.Spin(values=[i for i in np.linspace(0.8,0.95,10)],initial_value=0.8)],#values[6]
[sg.Text("n_changepoints",size=(20,1),justification="left"),sg.Spin(values=np.arange(25,50),initial_value=25)],#values[7]
[sg.Text('_' * 100, size=(65, 1))],
[sg.Text('Plotting parameters', font=('Helvetica', 15), justification='left')],
[sg.Text("Plot Title",size=(20,1),justification="left"),sg.Input(default_text="Title of Plot for selected",justification="left")], #values[8]
[sg.Text("Title of y-Axis",size=(20,1),justification="left"),sg.Input(default_text="Title of y-axis",justification="left")],#values[9]
[sg.Text("Title of x-Axis",size=(20,1),justification="left"),sg.Input(default_text="Title of x-axis",justification="left")],#values[10]
[sg.Submit(),sg.Cancel()]
]
window=sg.Window("Forecast",icon="Mann+Hummel.ico",default_element_size=(40,10)).Layout(layout)
button, values = window.Read()
window.Close()
我将此脚本另存为“测试.py在一个文件夹中,然后我以管理员的身份打开Anaconda提示符,用脚本导航到该文件夹并执行“pyinstaller”测试.py““
这工作很好,我意识到,好,我可以进入下一步,这是包括fbprophet到我的脚本,因为我想为我的同事在这里,谁不熟悉的编码创建一个图形用户界面。 如果我在脚本中包含fbprophet并再次执行行“pyinstaller测试.py“它执行一个dist文件和一个exe文件。但是如果我打开exe文件,什么都不会发生。我删除了所有的dist和build文件夹,并重复-以100%确保现有的dist-build文件夹不会引发错误,并再次执行该行。我再次得到一个exe文件,如果我点击它,什么也没有发生
所以我假设这个问题是由fbprophet引起的,如果我直接执行的话,fbprophet工作得很好。 我真的试了好几步,但没有成功。如果有人能帮我,请告诉我 如果你也有不同的方向来创建一个exe文件,请让我知道。我认为这可能对其他用户也有帮助:)
这不是对问题的直接回答。但这似乎是fbprophet和cxfreeze的一个bug。使用cxfreeze或pyinstaller用fbprophet构建exe文件是不可能的(至少对我来说是这样)
如果有人有答案,请告诉我们
切赫
相关问题 更多 >
编程相关推荐