从python脚本创建的可执行文件只触发DOS窗口
我想将名为DEEPEM_GANTT.py的python脚本转换为可执行文件。 我在线阅读了一些教程,决定使用pyinstaller来完成此操作 我继续使用pip将pywin32和pyinstaller安装到我的Python虚拟环境中:从python脚本创建的可执行文件只触发DOS窗口,python,tkinter,pyinstaller,Python,Tkinter,Pyinstaller,我想将名为DEEPEM_GANTT.py的python脚本转换为可执行文件。 我在线阅读了一些教程,决定使用pyinstaller来完成此操作 我继续使用pip将pywin32和pyinstaller安装到我的Python虚拟环境中: pip install pywin32 pip install pyinstaller 我第一次尝试转换脚本(pyinstaller--onefile DEEPEM\u GANTT.py)时返回了一个错误(FFi'对象没有属性“unpack”),但在更新cffi
pip install pywin32
pip install pyinstaller
我第一次尝试转换脚本(pyinstaller--onefile DEEPEM\u GANTT.py
)时返回了一个错误(FFi'对象没有属性“unpack”
),但在更新cffi后,我能够生成一个名为DEEPEM\u GANTT.exe的.exe文件
唉,当双击这个文件时,它会启动一个DOS窗口,而不是启动本来要打开的tkinter对话框。我做错了什么?任何帮助都将不胜感激
我的剧本复制如下。该脚本用于根据使用多个传感器获取的数据创建甘特图。从Python终端启动时,脚本运行良好:
import scipy.io
import os
import plotly.figure_factory as ff
from plotly.offline import plot
from struct import *
import datetime
from tkinter import filedialog
from tkinter import *
root = Tk()
filename = filedialog.askdirectory(title="Select the folder where your sites are stored")
root.destroy()
myroot=filename
df=[]
for folder in os.listdir(myroot):
if os.path.isdir(myroot+'/'+folder):
for subfolder in os.listdir(myroot+'/'+folder):
if os.path.isdir(myroot+'/'+folder+'/'+subfolder) and subfolder[:4]=='meas':
starttime_string=subfolder[5:]
starttime=datetime.datetime.strptime(starttime_string, "%Y-%m-%d_%H-%M-%S")
for atsfilename in os.listdir(myroot+'/'+folder+'/'+subfolder):
if atsfilename[-3:]=='ats':
file_stats=os.stat(myroot+'/'+folder+'/'+subfolder+'/'+atsfilename)
if file_stats.st_size>0:
file=open(myroot+'/'+folder+'/'+subfolder+'/'+atsfilename,'rb')
file.seek(4)
byte=file.read(4)
nos=unpack('i', byte)[0]
file.seek(8)
byte2=file.read(4)
sampling=unpack('f',byte2)[0]
duration=nos/sampling
stoptime=starttime+datetime.timedelta(seconds=duration)
adu=atsfilename[:3]
df.append(dict(Task=folder+'_'+adu, Start=str(starttime), Finish=str(stoptime), Resource=str(sampling)))
fig = ff.create_gantt(df, index_col='Resource', show_colorbar=True, group_tasks=True)
plot(fig)
这是制作窗口化GUI的基本pyinstaller代码
pyinstaller --onefile -w DEEPEM_GANTT.py
-w
要求将其打开窗口。此外,还可以使用标志--windowed
或--noconsole
查看更多信息。感谢您的快速回复,酷云。使用
-w
就可以了!可执行文件现在会打开Tkinter对话框窗口,这样您的答案就准确了。后来我仍然遇到了一个致命错误
,但那是另一个故事…@Sheldon很高兴知道,请随意询问有关新错误的新问题。