3 votes

Modèle par défaut manquant pour Python-Docx

J'ai récemment installé le paquet python-docx et j'ai quelques problèmes avec le modèle par défaut. Je suis en train de créer un document et j'ai le code suivant (dans un fichier appelé maintitle.py) :

from docx import Document
from docx.shared import Inches

document = Document()

Cependant, j'obtiens l'erreur suivante :

Traceback (most recent call last):
  File "/Users/myname/Desktop/Python/maintitle.py", line 4, in <module>
    document = Document()
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/docx/api.py", line 25, in Document
    document_part = Package.open(docx).main_document_part
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/docx/opc/package.py", line 128, in open
    pkg_reader = PackageReader.from_file(pkg_file)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/docx/opc/pkgreader.py", line 32, in from_file
    phys_reader = PhysPkgReader(pkg_file)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/docx/opc/phys_pkg.py", line 31, in __new__
    "Package not found at '%s'" % pkg_file
docx.opc.exceptions.PackageNotFoundError: Package not found at '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/docx/templates/default-docx-template'

En regardant dans le répertoire "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/docx/templates", il n'y a que quatre fichiers :

default-footer.xml  default-settings.xml
default-header.xml  default-styles.xml

J'ai installé python-docx avec pip3 install python-docx. Dois-je faire autre chose ?

4voto

scanny Points 1415

Il y avait un problème dans la version v0.8.9 qui provoquait cette erreur dans certains environnements. Si vous installez la version v0.8.10, ce problème devrait disparaître.

$ pip install python-docx==0.8.10

Dans certaines distributions Ubuntu et peut-être Mint ayant une ancienne version de setuptools, vous pouvez également avoir besoin de mettre à jour setuptools :

$ pip install -U setuptools

Pour une raison quelconque, ces distributions ont un setuptools v20.x alors que le dernier est v40.x.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X