web-dev-qa-db-fra.com

Lors de l'importation de docx en python3.3, j'ai une erreur ImportError: aucun module nommé «exceptions»

lorsque j'importe docx j'ai cette erreur:

>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'

Comment corriger cette erreur (python3.3, docx 0.2.4)?

53
user3472559

Si vous utilisez python 3x ne faites pas pip install docx optez plutôt pour

pip install python-docx 

il est compatible avec python 3x

document officiel: https://pypi.org/project/python-docx/

100
Arun
  1. Désinstallez le module docx avec pip uninstall docx
  2. Télécharger python_docx-0.8.6-py2.py3-none-any.whl fichier de http://www.lfd.uci.edu/~gohlke/pythonlibs/
  3. Exécutez pip install python_docx-0.8.6-py2.py3-none-any.whl pour réinstaller docx. Cela a résolu sans problème l'erreur d'importation ci-dessus pour moi. Juste pour apporter une solution ...
14
Vancent

Dans Python 3 module d'exceptions a été supprimé et toutes les exceptions standard ont été déplacées vers le module intégré. Ainsi, il n'est plus nécessaire d'effectuer une importation explicite des exceptions standard.

copié de

3
sajid

Vous pouvez être installé docx, pas python-docx

Vous pouvez le voir pour l'installation python-docx

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

2
某某某

Le problème, comme cela a été noté précédemment dans les commentaires, est que le module docx n'était pas compatible avec Python 3. Il a été corrigé dans cette pull-request sur github: https: // github .com/mikemaccana/python-docx/pull/67

Étant donné que l'exception est désormais intégrée, la solution consiste à ne pas l'importer.

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
Dmitry