ImportError:无法导入名称“文档”

时间:2019-05-17 18:30:57

标签: python python-3.x python-docx

我运行了一个用python 3.6.5生成的代码,它完美地运行了(无数次),现在我打开计算机,再次运行它(根本没有任何改变),并且:

ImportError: cannot import name 'Document'

我尝试根据之前的帖子通过pip命令卸载docxpython-docx,并且:

Cannot uninstall requirement docx, not installed

然后我尝试安装,并且:

Could not fetch URL https://pypi.python.org/simple/docx/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:719) - skipping
Could not find a version that satisfies the requirement docx (from versions: )
No matching distribution found for docx

这是怎么回事?

from tkinter import *
from functools import partial
from docx import Document
from docx.shared import Inches

第三行(显然)给出了问题,我正在使用macOS High Sierra 10.13.6

完整错误代码:

Traceback (most recent call last):
  File "/Users/cezi/Desktop/Products_Field+Entries.py", line 5, in <module>
    from docx import Document
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/docx/__init__.py", line 3, in <module>
    from docx.api import Document  # noqa
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/docx/api.py", line 14, in <module>
    from docx.package import Package
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/docx/package.py", line 9, in <module>
    from docx.opc.package import OpcPackage
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/docx/opc/package.py", line 9, in <module>
    from docx.opc.part import PartFactory
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/docx/opc/part.py", line 13, in <module>
    from ..oxml import parse_xml
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/docx/oxml/__init__.py", line 89, in <module>
    from .section import (  # noqa
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/docx/oxml/section.py", line 7, in <module>
    from copy import deepcopy
  File "/Users/cezi/Desktop/copy.py", line 1, in <module>
    from docx import Document
ImportError: cannot import name 'Document'

1 个答案:

答案 0 :(得分:0)

有一个名为docx的PyPi包,它不是 python-docxdocx程序包的主要模块也称为“ docx”,但没有Document对象。您需要摆脱错误安装的组件,然后添加正确的组件。在pip中,您可以通过以下方式对此进行补救:

$ pip uninstall docx
$ pip install python-docx