题 在python3.3中导入docx时我有错误ImportError:没有名为'exceptions'的模块


当我导入 docx 我有这个错误:

>File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/docx-0.2.4-py3.3.egg/docx.py", line 30, in <module>
        from exceptions import PendingDeprecationWarning
    ImportError: No module named 'exceptions'

如何解决此错误(python3.3docx 0.2.4)?


27
2018-03-31 15:11


起源


该 exceptions Python 3中不存在模块(已添加的例外情况已添加到 __builtin__ 无论如何)。看起来DocX到Python 3的转换尚未完成。 - Frédéric Hamidi


答案:


如果您使用的是python 3x,请不要安装docx代替

pip install python-docx 

它与python 3x兼容

官方文件: https://pypi.org/project/python-docx/


44
2018-05-29 02:21



这解决了我 - 10SecTom
看起来应该是接受的答案...... - jadianes
这解决了我的问题,更新了文档中的官方链接 - Roshan Bagdiya


  1. 用。卸载docx模块 pip uninstall docx
  2. 下载 python_docx-0.8.6-py2.py3-none-any.whl 来自的文件 http://www.lfd.uci.edu/~gohlke/pythonlibs/
  3. pip install python_docx-0.8.6-py2.py3-none-any.whl 重新安装docx。 这为我顺利解决了上述导入错误。只是为了提供解决方案......

11
2018-03-04 02:56



是的,这对我有用 - gather bar
Halleluja !!!!!! - niCk cAMel


在Python 3中,异常模块被删除,所有标准异常都被移动到内置模块。因此意味着不再需要明确导入任何标准异常。

复制自


2
2018-04-10 14:39





正如之前在评论中提到的那样,问题是docx模块与Python 3不兼容。它在github上的pull-request中被修复: https://github.com/mikemaccana/python-docx/pull/67

由于异常现在是内置的,解决方案是不导入它。

docx.py
@@ -27,7 +27,12 @@
 except ImportError:
     TAGS = {}

-from exceptions import PendingDeprecationWarning
+# Handle PendingDeprecationWarning causing an ImportError if using Python 3
+try:
+    from exceptions import PendingDeprecationWarning
+except ImportError:
+    pass
+
 from warnings import warn

 import logging

1
2017-08-24 11:46



你还可以在这里发布相关的代码片段吗? - Kamiccolo


你可能安装docx而不是python-docx

你可以看到这个安装python-docx

http://python-docx.readthedocs.io/en/latest/user/install.html#install


1
2018-05-02 09:50



未找到例外模块是安装错误库时出现的错误 - juan Isaza