Python-Docx 缺少默认模板

Python-Docx missing default template

我最近安装了 python-docx 包,但我在使用默认模板时遇到了一些问题。我正在设置一个文档并具有以下代码(在一个名为 maintitle.py 的文件中):

from docx import Document
from docx.shared import Inches

document = Document()

但是,我收到以下错误:

Traceback (most recent call last):
  File "/Users/myname/Desktop/Python/maintitle.py", line 4, in <module>
    document = Document()
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/docx/api.py", line 25, in Document
    document_part = Package.open(docx).main_document_part
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/docx/opc/package.py", line 128, in open
    pkg_reader = PackageReader.from_file(pkg_file)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/docx/opc/pkgreader.py", line 32, in from_file
    phys_reader = PhysPkgReader(pkg_file)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/docx/opc/phys_pkg.py", line 31, in __new__
    "Package not found at '%s'" % pkg_file
docx.opc.exceptions.PackageNotFoundError: Package not found at '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/docx/templates/default-docx-template'

查看目录“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/docx/templates”只有四个文件:

default-footer.xml  default-settings.xml
default-header.xml  default-styles.xml

我用 pip3 install python-docx 安装了 python-docx。我应该做点别的吗?

版本 v0.8.9 中存在一个问题,在某些环境中引发此错误。如果您安装 v0.8.10,这应该会消失。

$ pip install python-docx==0.8.10

在某些 Ubuntu 和可能具有较旧 setuptools 版本的 Mint 发行版中,您可能还需要更新 setuptools:

$ pip install -U setuptools

无论出于何种原因,这些发行版都有一个 v20.x 安装工具,其中最新的是 v40.x。

我遇到了同样的问题,但在使用下面的命令后一切正常。

使用:

pyinstaller --collect-data "docxcompose" --onefile d:\python\Merge_Docx.py

而不是:

pyinstaller --onefile d:\python\Merge_Docx.py

(d:\python\Merge_Docx.py 是 python 所在的脚本)