如何修复exe文件的PackageNotFoundError

问题描述 投票:1回答:3

它只在我将它转换为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'找不到包

python pyinstaller python-docx
3个回答
0
投票

在你的.spec文件中,我认为你可以添加:

datas= [ ('C:\\Program Files\\Python36\\Lib\\site-packages\\docx\\templates\\*', 'docx\\templates' ) ],

Analysis部分,将丢失的文件添加到exe。当然,这假设缺少的default.docx位于指定的文件夹中。


0
投票

我想出了问题的解决方案,它正在寻找一个不存在的文件夹。以下是我修复它的方法:https://youtu.be/bB9RXak4eVY


0
投票

另一个相当简单的解决方法是将default.docx复制到你的app目录,将my_docx = docx.Document()更改为my_docx = docx.Document(docx='default.docx'),并将datas=[('default.docx', '.')]添加到你的.spec文件中。

© www.soinside.com 2019 - 2024. All rights reserved.