如何修复 exe 文件的 PackageNotFoundError

How to fix PackageNotFoundError for exe files

只有在我将其转换为 exe 后才出现错误,作为 .py 文件工作正常

我试图找到丢失的文件并替换它,但仍然没有用。 我得到的错误是:

Traceback (most recent call last):

File "tkinter_init_.py", line 1705, in call

File "CompilerGui.py", line 259, in

done = ttk.Button(window, text="Compile", command=lambda:finish(texts, window, search_folder))

File "CompilerGui.py", line 210, in finish cb.the_main(q_list, values)

File "CompilerBase.py", line 323, in the_main

file_written = write_docx(values_dict, file_to_write)

File "CompilerBase.py", line 100, in write_docx

my_docx = docx.Document()

File "site-packages\docx\api.py", line 25, in Document

File "site-packages\docx\opc\package.py", line 128, in open

File "site-packages\docx\opc\pkgreader.py", line 32, in from_file

File "site-packages\docx\opc\phys_pkg.py", line 31, in new

docx.opc.exceptions.PackageNotFoundError: Package not found at '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 复制到您的应用程序目录,将 my_docx = docx.Document() 更改为 my_docx = docx.Document(docx='default.docx'),然后将 datas=[('default.docx', '.')] 添加到您的 [=14] =] 文件.