При импорте docx в python3.3 у меня есть ошибка 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.3, docx 0.2.4)?

Ответы

Ответ 1

Если вы используете Python 3x, не делайте pip install docx вместо этого перейдите на

pip install python-docx 

совместим с питоном 3х

официальный документ: https://pypi.org/project/python-docx/

Ответ 2

  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. Это решило эту ошибку импорта для меня. Просто предоставить решение...

Ответ 3

В модуле исключений Python 3 был удален, и все стандартные исключения были перемещены во встроенный модуль. Таким образом, это означает, что больше нет необходимости делать явный импорт любых стандартных исключений.

скопирован из

Ответ 4

Проблема, как уже отмечалось ранее в комментариях, заключается в том, что модуль docx несовместим с Python 3. Он был исправлен в этом запросе pull на github: 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

Ответ 6

Я использовал Pycharm в моей MacOS, и он решил эту проблему, установив python-docx