docxcompose 和 pyinstaller 的问题

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

我最近用 Python 创建了一款软件,它使用 docxcompose 将模板从一个位置复制到新文档。在使用 pyinstaller 编译成 EXE 之前,我能够很好地运行该程序。回溯可以在下面找到:

`File "MS_Word_Interface.py", line 63, in __init__
File "MS_Word_Interface.py", line 98, in create_document
File "MS_Word_Interface.py", line 142, in copy_contents_from_template_to_pretest_document
File "docxcompose\composer.py", line 53, in append
File "docxcompose\composer.py", line 61, in insert
File "docxcompose\properties.py", line 105, in __init__
File "docxcompose\properties.py", line 111, in _part_template
File "pkg_resources\__init__.py", line 1208, in resource_string
File "pkg_resources\__init__.py", line 1483, in get_resource_string
File "pkg_resources\__init__.py", line 1654, in _get
File "PyInstaller\loader\pyimod02_importers.py", line 228, in get_data
FileNotFoundError: [Errno 2] No such file or directory:                      'C:\\Users\\*user*\\AppData\\Local\\Temp\\_MEI423562\\docxcompose\\templates\\custom.xml'`

程序似乎能够创建新文档,但是当从我预先制作的文档之一复制时,它无法访问复制的数据。任何帮助都是appriced。

我尝试在管理员模式下运行 EXE,但没有成功,我不知道还能做什么,因此我在这里伸出援手。

第 142 行引用了以下代码中的“composer.append(self.input_document)”:

self.input_document = Document(f'{self.sub_documents_location}\\ 
{self.input_document_name}.docx')

composer = Composer(self.pretest_document)
composer.append(self.input_document)
composer.save(f"{self.location_of_document}\\ 
{self.name_of_output_document}")
python pyinstaller docx python-docx
1个回答
0
投票

--collect-data "docxcompose"
添加到 pyinstaller 的命令行参数

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