它只在我将它转换为exe后才给出错误,可以正常工作.py文件
我试图找到丢失的文件并替换它但它仍然无法正常工作。我得到的错误是:
Traceback(最近一次调用最后一次):
在电话中输入“tkinter_init_.py”,第1705行
文件“CompilerGui.py”,第259行,in
done = ttk.Button(window,text =“Compile”,command = lambda:finish(texts,window,search_folder))
文件“CompilerGui.py”,第210行,完成cb.the_main(q_list,values)
在the_main中输入“CompilerBase.py”,第323行
file_written = write_docx(values_dict,file_to_write)
在write_docx中的文件“CompilerBase.py”,第100行
my_docx = docx.Document()
在Document中输入第25行的“site-packages \ docx \ api.py”
文件“site-packages \ docx \ opc \ package.py”,第128行,打开
在from_file中输入第32行的“site-packages \ docx \ opc \ pkgreader.py”
文件“site-packages \ docx \ opc \ phys_pkg.py”,第31行,全新
docx.opc.exceptions.PackageNotFoundError:在'C:\ Users \ LENOVO \ AppData \ Local \ Temp_MEI92522 \ docx \ templates \ default.docx'找不到包
在你的.spec
文件中,我认为你可以添加:
datas= [ ('C:\\Program Files\\Python36\\Lib\\site-packages\\docx\\templates\\*', 'docx\\templates' ) ],
在Analysis
部分,将丢失的文件添加到exe
。当然,这假设缺少的default.docx
位于指定的文件夹中。
我想出了问题的解决方案,它正在寻找一个不存在的文件夹。以下是我修复它的方法:https://youtu.be/bB9RXak4eVY
另一个相当简单的解决方法是将default.docx
复制到你的app目录,将my_docx = docx.Document()
更改为my_docx = docx.Document(docx='default.docx')
,并将datas=[('default.docx', '.')]
添加到你的.spec
文件中。