在python3.3中导入docx时出现错误ImportError:没有名为“ exceptions”的模块


88

当我导入 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)?


2
exceptions模块在Python 3中不存在(__builtin__无论如何都定义了例外)。DocX到Python 3的转换似乎还没有完成。
弗雷德里克·哈米迪

Answers:



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

9

如果要使用import docx,一定要安装蟒蛇,DOCXDOCX。你可以通过运行安装模块pip install python-docx

安装名称docx用于其他模块,但是,

当您要导入python-docx模块时,需要运行 import docx,而不是import python-docx

如果仍然要使用docx模块,则

首先,您需要确保已安装docx模块。如果没有,那就简单地运行pip install docx。如果显示“ *已满足需求*”,则解决方案为:

  1. 转到库中找到docx.py文件,您需要转到安装python的目录,然后转到\ Lib \ site-packages \,并找到docx.py文件
  2. 在文本编辑器中打开docx.py文件并找到此代码

    from exceptions import PendingDeprecationWarning
    
  3. 将上面的代码替换为
try:
    from exceptions import PendingDeprecationWarning
except ImportError:
    pass
  1. 保存文件
  2. 现在,您可以在Python 3.x中运行导入docx模块,而不会出现任何问题

8

如果您使用的是python 3.x,请确保同时安装了python-docxdocx

安装python-docx:

pip install python-docx

安装docx:

pip install docx

6

在Python 3中,异常模块已删除,所有标准异常均移至内置模块。因此,这意味着不再需要显式导入任何标准异常。

复制自



3

正如之前在评论中指出的那样,该问题是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

您还可以在此处发布相关代码段吗?
Kamiccolo

0

您需要使其与python3一起使用。

                     sudo pip3 install python-docx

该安装在Python3中对我有用,无需任何其他添加。

             python3
             >> import docx

PS:请注意,“ pip install python-docx”或apt-get python3-docx无效。


您真的不能说'pip install python-docx'没有用,因为如果您在python3环境中,它与pip3命令完全相同
Javatar

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.