如何修复exe文件的PackageNotFoundError

时间:2019-04-04 00:34:19

标签: python pyinstaller python-docx

仅在将其转换为exe后,它才给我错误,可以作为.py文件正常工作

我试图找到丢失的文件并替换它,但仍然无法正常工作。 我得到的错误是:

  

回溯(最近通话最近一次):

     

正在调用的文件“ tkinter_init_.py”,第1705行

     

文件

中的文件“ CompilerGui.py”,第259行      

done = ttk.Button(window,text =“ Compile”,command = lambda:finish(texts,   窗口,search_folder))

     

文件“ CompilerGui.py”,第210行,位于完成cb.the_main(q_list,值)中

     

the_main中的文件“ CompilerBase.py”,第323行

     

file_write = write_docx(values_dict,file_to_write)

     

write_docx中第100行的文件“ CompilerBase.py”

     

my_docx = docx.Document()

     

文档中第25行的文件“ site-packages \ docx \ api.py”

     

打开的文件“ site-packages \ docx \ opc \ package.py”,第128行

     

from_file中第32行的文件“ site-packages \ docx \ opc \ pkgreader.py”

     

第31行中的文件“ site-packages \ docx \ opc \ phys_pkg.py”

     

docx.opc.exceptions.PackageNotFoundError:在以下位置找不到包   'C:\ Users \ LENOVO \ AppData \ Local \ Temp_MEI92522 \ docx \ templates \ default.docx'

3 个答案:

答案 0 :(得分:0)

我认为您可以在.spec文件中添加:

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

,将丢失的文件添加到您的exe中。当然,这假定丢失的default.docx在指定的文件夹中。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

相关问题