Lire un document docx avec python3

Résolu
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 - Modifié le 15 avril 2024 à 11:31
mamiemando Messages postés 33084 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 avril 2024 - 16 avril 2024 à 11:06

Bonjour,

Je débute aussi en doc, je veux lire un fichier word dans python :

import docx 
doc = docx.Document("L'ANGE GABRIEL")
print (read(doc))

ModuleNotFoundError: No module named 'docx'

Ou est l'erreur ? Merci.
Windows / Firefox 124.0


A voir également:

17 réponses

mamiemando Messages postés 33084 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 avril 2024 7 750
Modifié le 15 avril 2024 à 11:32

Bonjour,

Je bascule le sujet en résolu (cf #65), @quentin2121 StatutMembrepense ici à le faire à l'avenir comme expliqué ici.

Merci à toutes les personnes (en particulier @Whismeril StatutContributeur et @Diablo76 StatutMembre) qui ont aidé quentin2121 a trouvé la réponse. Ci-dessous un résumé de cette longue discussion.

Résumé du problème

Lire un fichier docx en python3 sous Windows.

Résumé de la solution

  • Installer pycharm.
  • Créer un nouveau projet dans pycharm.
    • Il est recommandé de créer pour le projet un environnement virtuel qui utilise l'interpréteur python 3.11, car python 3.12 pose actuellement des problèmes.
    • Si python3.11 n'est pas installé, voir #59 pour voir comment procéder.
  • Installer python-docx. Attention à ne pas installer docx, mais python-docx ce lien). Deux méthodes sont possibles
    • via le menu Python Package de pycharm
    • via le terminal (shell) (pas dans l'interpréteur python !) de pycharm, en invoquant soi-même pip :
      • python -m pip install --upgrade pip  # Mise à jour de pip
        pip install python-docx              # Installation du paquet
    • En cas d'erreur pip, en particulier : 
      When import docx in python3.3 I have error ImportError: No module named 'exceptions'

      ... il faut envisager d'utiliser une autre version de python, par exemple python 3.11. L'erreur ci-dessus impacte (actuellement) python3.12

Bonne chance et merci à tou.te.s

3
Whismeril Messages postés 19032 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 avril 2024 931
Modifié le 13 avril 2024 à 08:24

En bas à droite de Pycharm, tu vois l'interpréteur utilisé (dans ma capture 3.11)

Tu cliques dessus et tu peux voir tous les interpréteurs installés (dans ma capture 3.9 et 3.11) ainsi que des menus pour configurer tout ça.

Là, soit tu choisis 3.11, soit tu l'installes si ce n'est pas fait et ça sera OK au moins pour ton projet en cours.

Comme on te l'a déjà dit, Pycharm crée un environnement virtuel par projet. Toutes les dépendances du projet sont dans cet environnement (Par exemple docx si tu l'installes, ne sera accessuble que de ce projet, depuis un autre il faudre l'installer à nouveau).

Mais il y a des paramètres qui sont globaux à Pycharm, et je ne connais pas suffisamment cet IDE pour t'affirmer que l'interpréteur est global ou ne l'est pas.

Mais comme il est écrit Python 3.11 (SAGC) qui est le nom de mon projet, j'ai tendance à penser que ce n'est pas un paramètre global.


1
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270
Modifié le 13 avril 2024 à 12:07

Quand je clique en bas à droite, je ne vois que python 3.12, j'ai cherché le chemin du 3.11, que voici :

C:\Utilisateurs\quent\AppData\Local\Programs\Python\Python311

Je n'arrive pas à le faire rentrer dans pycharm, comme interpréteur ! Il y a une façon de l'installer ?

0
Diablo76 Messages postés 155 Date d'inscription vendredi 25 novembre 2022 Statut Membre Dernière intervention 27 avril 2024 40 > quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024
13 avril 2024 à 13:31

Oui, tu peux ajouter un interpréteur à ton projet existant via le menu "Add new interpreter"

Ensuite, tu sélectionnes ton projet existant et tu renseignes le chemin de python 3.11 (C:\Utilisateurs\quent\AppData\Local\Programs\Python\Python311)

1
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270 > Diablo76 Messages postés 155 Date d'inscription vendredi 25 novembre 2022 Statut Membre Dernière intervention 27 avril 2024
14 avril 2024 à 11:14

Une fois sur le chemin de C:\Users\quent\AppData

Je ne peux aller plus loin, et cliquer sur Ok pour valider le chemin ?

0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270 > quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024
Modifié le 14 avril 2024 à 12:31

En gros Pycharm ne veut pas prendre Python 311 ! Peut être parce que souvent on installe d'abord python, puis pycharm ?

0
Whismeril Messages postés 19032 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 avril 2024 931
3 avril 2024 à 18:35

Tu as installé le module sur ton PC?


0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270
Modifié le 3 avril 2024 à 18:51

Je croyais que pendant mes cours cela avait été fait sur Pycharm. Donne moi le mode d'emploi STP.

avec :

pip install python-docx

cela fait une erreur !

0
Whismeril Messages postés 19032 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 avril 2024 931
3 avril 2024 à 19:43

Quelle erreur ?


0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270
4 avril 2024 à 12:11
0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270 > quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024
Modifié le 4 avril 2024 à 17:04
import docx
doc = docx.Document
# doc.read("L'ANGE GABRIEL")

En fait l'erreur c'est peut être que mon document est sur le disque D, comment y faire accéder à pyhton ?

en rentrant cd dir en ligne 2 ?

J'ai ajouté mon document dans PythonProject de Pycharm via l'explorateur de fichier Windows sur le disque C, cela ne fonctionne pas mieux.

Dans mes cours le module docx est déjà installé dans pycharm, car on ne l'ajoute pas au départ de l'exercice.

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question

Bonjour,

Peu importe où le fichier est situé, met le chemin:

import docx

doc = docx.Document("C:\\Phil\\Dev\\Python\\tests\\Word_test.docx")
for para in doc.paragraphs: print('Paragraphe:\n',para.text)
0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270
Modifié le 4 avril 2024 à 17:12
0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270 > quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024
Modifié le 4 avril 2024 à 17:14

Je veux juste que le texte s'affiche dans Pycharm, se lis, "read", enfin si c'est possible !

Il faut rentrer le chemin vers Pycharm ?

0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270
4 avril 2024 à 18:46
import docx

doc = docx.Documents("C:\Users\quent\PycharmProjects\pythonProject\L'ANGE_GABRIEL.docx")

J'ai cette erreur :

    doc = docx.Document("C:   \Users\quent\PycharmProjects\pythonProject\L'ANGE_GABRIEL.docx")

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape


0
jee pee Messages postés 39664 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 30 avril 2024 9 242
Modifié le 4 avril 2024 à 18:52

n'utilise pas l'anti-slash qui est le caractère d’échappement mais le slash / dans le chemin

puis tu devrais commencer par un fichier avec un nom simple présent dans le même répertoire que le code : doc.docx

0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270 > jee pee Messages postés 39664 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 30 avril 2024
Modifié le 4 avril 2024 à 19:09

J'ai fais cela, mais toujours des erreurs

On m'as appris à faire comme cela :

import docx
doc = docx.Document()
# doc.add_paragraph("hello word")
doc.save("hello word.docx")
paraObj1 = doc.paragraph ("deuxième paragraphe")
paraObj2 = doc.paragraph ("troisième paragraphe")

paraObj1.add_run("texte additionnel")

doc.save'"paragraphes_multiples.docx")

0
goulu > quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024
Modifié le 4 avril 2024 à 21:29

Bonsoir,
 

En programmation, quand on a des erreurs, il faut les indiquer ces erreurs, python est super pour ça, donc poste le traceback complet des erreurs, et surtout  pas d'images, du simpe texte est amplement suffisant.

Tu devrais sans doute suivre un didacticiel concernant ce module, parce que là, tu as l'air de complètement patauger.
 

Par ex. celui-ci :
 

https://www.geeksforgeeks.org/python-working-with-docx-module/

(il y a d'autres tutos en bas de page concernant ce module)
 

Ou encore :
 

https://stackabuse.com/reading-and-writing-ms-word-files-in-python-via-python-docx-module/
 

Bonne chance.

0
georges97 Messages postés 11846 Date d'inscription lundi 31 janvier 2011 Statut Contributeur Dernière intervention 29 avril 2024 2 254 > goulu
Modifié le 4 avril 2024 à 21:18

Bonsoir goulu,

En espérant que Quentin suivra vos excellents conseils.
 

Pour ce qui est des interlignes, c'est un bug non corrigé depuis plus d'un an, ce me semble, qui affecte les posts en commentaire.

Il suffit de faire un shift + enter pour générer l'interligne

1
goulu > georges97 Messages postés 11846 Date d'inscription lundi 31 janvier 2011 Statut Contributeur Dernière intervention 29 avril 2024
4 avril 2024 à 21:27

Ah d'accord, merci de l'info, je ne savais pas ;)

0

Bonjour,

As-tu essayé ceci :

import docx

doc = docx.Documents("C:/Users/quent/PycharmProjects/pythonProject/L'ANGE_GABRIEL.docx")
0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270
5 avril 2024 à 18:55
0
Whismeril Messages postés 19032 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 avril 2024 931 > quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024
6 avril 2024 à 07:15

Au risque de répéter ce qui t'a déjà été demandé par goulu

En programmation, quand on a des erreurs, il faut les indiquer ces erreurs, python est super pour ça, donc poste le traceback complet des erreurs, et surtout  pas d'images, du simpe texte est amplement suffisant

1
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270 > Whismeril Messages postés 19032 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 avril 2024
6 avril 2024 à 11:10

  File "C:\Users\quent\PycharmProjects\pythonProject\l'ange gabriel.py", line 1, in <module>

    import docx

  File "C:\Users\quent\PycharmProjects\pythonProject4\venv\Lib\site-packages\docx.py", line 21, in <module>

    from PIL import Image

  File "C:\Users\quent\PycharmProjects\pythonProject4\venv\Lib\site-packages\PIL\Image.py", line 39, in <module>

    import tempfile

  File "C:\Users\quent\AppData\Local\Programs\Python\Python312\Lib\tempfile.py", line 45, in <module>

    from random import Random as _Random

  File "C:\Users\quent\PycharmProjects\pythonProject\random.py", line 2

    générer un chiffre aléatoire(1-10)

              ^^

SyntaxError: invalid syntax

0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270
6 avril 2024 à 18:08

J'en viens à me demander si j'ai bien le module docx d'installé sur Pycharm ? Quel chemin ou commande console pour le voir SVP ?


0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270
7 avril 2024 à 10:51

Bonjour,

Personne pour m'aider, je suis dans une impasse là ?


0
Whismeril Messages postés 19032 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 avril 2024 931
7 avril 2024 à 11:23

Petits rappels:

  1. On est bénévole
  2. Nos vies passent avant toute aide sur le forum
  3. Quand nous te posons des questions pour mieux cerner ton problème, tu ne réponds pas forcément rapidement, quand tu réponds...

Donc si tu veux continuer à obtenir de l'aide de notre part, un peu de patience et de respect.

A priori oui le module est installé dans l'environnement virtuel de ton projet, on voit dans la pile d'appel que l'erreur passe par 

 File "C:\Users\quent\PycharmProjects\pythonProject4\venv\Lib\site-packages\docx.py",

Puis si on continue à suivre la pile, ça veut utiliser le mondule Random.

Je n'ai pas vérifié et je n'ai pas le temps maintenant, mais le chemin d'appel me surprend.

N'aurais-tu pas eu la mauvaise idée d'écrire ton propre module random, avec un bug dedans?

1
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270 > Whismeril Messages postés 19032 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 avril 2024
7 avril 2024 à 11:59

Excusez moi de mon impatience à résoudre mon problème.

Je n'ai rien fait dans le module Random, à part l'utiliser lors de mes cours en exercices pour le découvrir.

Merci de vous intéresser à mon sujet, bon dimanche !

0
Whismeril Messages postés 19032 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 avril 2024 931
7 avril 2024 à 16:30

Sur mon PC qui dispose de Pycharm, j'ai bien 2 fichiers qui s'appellent random.py mais

  • ils ne sont pas rangés dans un dossier qui ressemble à un dossier perso
  • les commentaires ne sont pas en français.

Je reformule donc ma question, est-ce toi qui as écrit le fichier "C:\Users\quent\PycharmProjects\pythonProject\random.py"


0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270
7 avril 2024 à 19:34

J'ai vérifié dans mon explorateur de fichier Pycharm, c'est bien moi qui l'ai crée pour un cours qui abordait le module Random.

from random import randit
générer un chiffre aléatoire(1-10)

J'ai recopié que le début du code, j'ai une erreur avec "syntax error" sur la ligne 2.

0
Whismeril Messages postés 19032 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 avril 2024 931
7 avril 2024 à 20:05

Alors pour une raison que j'ignore pycharm crois que le module random c'est ton fichier et pas celui d'origine.

Il faut faire en sorte que le vrai soit pris en compte, peut-être le réinstaller.

Quand à

J'ai recopié que le début du code, j'ai une erreur avec "syntax error" sur la ligne 2.

oui c'est doublement évident, d'abord parce que dans ton autre programme c'est exactement ce que te dit le message d'erreur. Et de plus un commentaire ça commence par #.


0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270
Modifié le 8 avril 2024 à 12:47

J'ai supprimé le fichier Random.py dans mon explorateur Windows (après l'avoir sauvegardé ailleurs), puis en testant mon code L'ANGE_GABRIEL.py, encore  des erreurs :

  File "C:\Users\quent\PycharmProjects\pythonProject\L'ANGE_GABRIEL.py", line 1, in <module>

import docx

  File "C:\Users\quent\PycharmProjects\pythonProject4\venv\Lib\site-packages\docx.py", line 30, in <module>

    from exceptions import PendingDeprecationWarning

ModuleNotFoundError: No module named 'exceptions'

Sinon avec quelle commande dans la console réinstaller Random ?

0
mamiemando Messages postés 33084 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 avril 2024 7 750
Modifié le 8 avril 2024 à 16:47

Bonjour,

Je n'ai pas tout lu, donc mes excuses si ce que je dis est une redite :

  • Comme expliqué dans ce lien, pour des versions modernes de python, il faut installer python-docx et non docx. Cela résoudra l'erreur que tu mentionnes dans #28.
    pip remove docx
    pip install python-docx 
  • Concernant #26 et le nommage de ta fonction
    • Un nom de fonction python ne doit pas comporter d'espace.
    • Je déconseille très fortement l'utilisation de caractères non ASCII (typiquement des caractères accentués). Donc renomme ta fonction "générer un nombre aléatoire" en "generer_un_nombre_aleatoire". Si tu voulais vraiment utiliser des caractères unicode il faudrait que ton fichier débute par l'entête adéquate. Exemple : 
      #!/usr/bin/env python3
      # -*- coding: utf-8 -*-
      
      def f():
           print("Hello world")
    • Je recommande de nommer ses fonctions en anglais, ça permet de prendre de bonnes habitudes pour plus tard et on n'utilise de facto plus de caractères accentués.
    • Dans ton cas particulier, la fonction que tu cherches à implémenter est probablement random.randint
      from random import randint
      
      n = randint(1, 10)  # 1 <= n <= 10
  • Plutôt que de faire des captures d'écran de ta pile d'appel, copie-colle la et dans son intégralité (comme tu l'as fait dans #28). Merci également de la mettre dans un section de code comme expliqué ici.

Bonne chance

0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270
Modifié le 8 avril 2024 à 16:22
  File "C:\Users\quent\AppData\Local\Programs\Python\Python312\Lib\code.py", line 63, in runsource
    code = self.compile(source, filename, symbol)
  File "C:\Users\quent\AppData\Local\Programs\Python\Python312\Lib\codeop.py", line 153, in __call__
    return _maybe_compile(self.compiler, source, filename, symbol)
  File "C:\Users\quent\AppData\Local\Programs\Python\Python312\Lib\codeop.py", line 73, in _maybe_compile
    return compiler(source, filename, symbol)
0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270 > quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024
8 avril 2024 à 16:23

Ci-dessus résultat commande console pycharm :

pip remove docx

0
mamiemando Messages postés 33084 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 avril 2024 7 750 > quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024
8 avril 2024 à 16:57

La trace me paraît incomplète. Au pire, regarde si docx est installé (avec pip list). Puis installe python-docx avec pip install python-docx.

Bonne chance

0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270 > mamiemando Messages postés 33084 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 avril 2024
8 avril 2024 à 17:57

pip list :

  File "C:\Users\quent\AppData\Local\Programs\Python\Python312\Lib\code.py", line 63, in runsource
    code = self.compile(source, filename, symbol)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\quent\AppData\Local\Programs\Python\Python312\Lib\codeop.py", line 153, in __call__
    return _maybe_compile(self.compiler, source, filename, symbol)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\quent\AppData\Local\Programs\Python\Python312\Lib\codeop.py", line 73, in _maybe_compile
    return compiler(source, filename, symbol)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\quent\AppData\Local\Programs\Python\Python312\Lib\codeop.py", line 118, in __call__
    codeob = compile(source, filename, symbol, self.flags, True)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<input>", line 1
    pip list
        ^^^^
0
mamiemando Messages postés 33084 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 avril 2024 7 750 > quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024
8 avril 2024 à 19:00

Vu l'erreur, j'ai l'impression que tu tapes tes commandes pip dans un script python, alors qu'il faut les taper dans un terminal (par exemple, les commandes MS-DOS ou l'onglet terminal si ton IDE en propose un).

0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270
8 avril 2024 à 19:08

Peut être Pycharm bug, il faudrait peut être le desinstaller, réinstaller ? En sauvegardant mes projets ?


0
Diablo76 Messages postés 155 Date d'inscription vendredi 25 novembre 2022 Statut Membre Dernière intervention 27 avril 2024 40
9 avril 2024 à 14:26

Salut,

Déjà, il faut sélectionner le Terminal dans ta barre d'outils à gauche :

Autre méthode pour installer/désinstaller un module, c'est le gestionnaire de package :

0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270 > Diablo76 Messages postés 155 Date d'inscription vendredi 25 novembre 2022 Statut Membre Dernière intervention 27 avril 2024
9 avril 2024 à 19:23

J'ai bien fait comme toi pour le package et :

0
Whismeril Messages postés 19032 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 avril 2024 931
9 avril 2024 à 20:06

J'ai ouvert avec PyCharm un projet dans lequel j'ai docx.

Avec le gestionnaire de package (comme te l'a montré @Diablo76 StatutMembre), je le vois dans la liste des composants installés

Est-ce que tu le vois ?

Je te demande ça parce que plus haut ta trace d'erreur semblait passer par ce package. Alors peut-être que ce n'était pas le bon package comme l'a suggéré @mamiemando StatutModérateur

Dans ce cas, peut-être faudrait-il le désinstaller d'abord.

A droite du gestionnaire de package, tu peux cliquer sur les 3 points

Sinon dans le terminal de Pycharm (comme te l'a aussi montré Diablo), avec pip list, tu peux aussi voir les packages installés sur ton projet.

Pour en être sûr, tu dois voir

(venv) suivi du chemin de ton projet

Et les commandes d'install t'ont déjà été données, celle de désinstall

pip unstall docx 


0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270
Modifié le 10 avril 2024 à 12:41

Bonjour,

Dans les packages, j'ai ceci d'installé :

Quand j'essaie d'installé python-docx, j'ai un message d'erreur, failed :

0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270 > quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024
10 avril 2024 à 12:46

Quand je fais pip list dans le terminal, j'ai :

  File "<frozen runpy>", line 198, in _run_module_as_main                                                                              

  File "<frozen runpy>", line 88, in _run_code                                                                                         

  File "C:\Users\quent\PycharmProjects\pythonProject1\venv\Scripts\pip.exe\__main__.py", line 4, in <module>                           

  File "C:\Users\quent\PycharmProjects\pythonProject1\venv\Lib\site-packages\pip\_internal\cli\main.py", line 9, in <module>           

    from pip._internal.cli.autocompletion import autocomplete                                                                          

  File "C:\Users\quent\PycharmProjects\pythonProject1\venv\Lib\site-packages\pip\_internal\cli\autocompletion.py", line 10, in <module>

    from pip._internal.cli.main_parser import create_main_parser

  File "C:\Users\quent\PycharmProjects\pythonProject1\venv\Lib\site-packages\pip\_internal\cli\main_parser.py", line 8, in <module>

    from pip._internal.cli import cmdoptions

  File "C:\Users\quent\PycharmProjects\pythonProject1\venv\Lib\site-packages\pip\_internal\cli\cmdoptions.py", line 23, in <module>

    from pip._internal.cli.parser import ConfigOptionParser

  File "C:\Users\quent\PycharmProjects\pythonProject1\venv\Lib\site-packages\pip\_internal\cli\parser.py", line 12, in <module>

    from pip._internal.configuration import Configuration, ConfigurationError

  File "C:\Users\quent\PycharmProjects\pythonProject1\venv\Lib\site-packages\pip\_internal\configuration.py", line 20, in <module>

    from pip._internal.exceptions import (

  File "C:\Users\quent\PycharmProjects\pythonProject1\venv\Lib\site-packages\pip\_internal\exceptions.py", line 7, in <module>

    from pip._vendor.pkg_resources import Distribution

  File "C:\Users\quent\PycharmProjects\pythonProject1\venv\Lib\site-packages\pip\_vendor\pkg_resources\__init__.py", line 2164, in <module>

    register_finder(pkgutil.ImpImporter, find_on_path)

                    ^^^^^^^^^^^^^^^^^^^

AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'?

0
Diablo76 Messages postés 155 Date d'inscription vendredi 25 novembre 2022 Statut Membre Dernière intervention 27 avril 2024 40 > quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024
10 avril 2024 à 12:56

Ok, Effectue l'update de tes packages en cliquant sur les liens et réessaie l'install de python-docx :

0
goulu > quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024
Modifié le 10 avril 2024 à 15:01

Bonjour quentin.
 

Désolé pour toi, mais tu as une version trop récente de python XD , il va falloir tout recommencer en utilisant une version antérieure.
 

https://stackoverflow.com/questions/77364550/attributeerror-module-pkgutil-has-no-attribute-impimporter-did-you-mean#answer-77364602

0
mamiemando Messages postés 33084 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 avril 2024 7 750 > Diablo76 Messages postés 155 Date d'inscription vendredi 25 novembre 2022 Statut Membre Dernière intervention 27 avril 2024
11 avril 2024 à 20:47

Le problème semble lié à python3.12 (voir ici). Cette discussion suggère de repasser soit en python3.11, soit d'adopter cette solution.

1
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270
12 avril 2024 à 18:10

Merci à Whismeril, goulu et mamiemando de vous intéresser à mon problème. J'ai désinstaller python 3.12 et installé python 3.11. Quand je fais pip install python-docx, j'ai :

(venv) PS C:\Users\quent\PycharmProjects\pythonProject> pip install python-docx

No Python at '"C:\Users\quent\AppData\Local\Programs\Python\Python312\python.exe'

(venv) PS C:\Users\quent\PycharmProjects\pythonProject>

Python est installé dans le C de app data, local, lors de l'install, au tout départ, j'ai coché "installe the path", en bas, une option, cela viendrait'il de là ?


0
Diablo76 Messages postés 155 Date d'inscription vendredi 25 novembre 2022 Statut Membre Dernière intervention 27 avril 2024 40
12 avril 2024 à 18:23

Salut,

Si c'est toujours le même projet, il faut que tu précises la nouvelle version de Python (3.11) dans ses paramètres. 

0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270 > Diablo76 Messages postés 155 Date d'inscription vendredi 25 novembre 2022 Statut Membre Dernière intervention 27 avril 2024
12 avril 2024 à 21:56

Merci à toi aussi de m'aider. En fait il faut renseigner dans Pycharm la version de python ? Ou pour chaque projet, clic droit, paramètre ?

0
Whismeril Messages postés 19032 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 avril 2024 931
14 avril 2024 à 12:55

Et si tu copies colle le chemin dans la zone de texte de la fenêtre d'exploration?


0
Diablo76 Messages postés 155 Date d'inscription vendredi 25 novembre 2022 Statut Membre Dernière intervention 27 avril 2024 40
Modifié le 14 avril 2024 à 16:39

Oui, Ctrl/C Ctrl/V fonctionnent, je viens de tester.

Après, je ne peux pas aider plus que ça, je ne suis pas sur Windows...

0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270
Modifié le 15 avril 2024 à 11:08

J'ai réussi à mettre l'interpréteur python 311 en créant un nouveau projet. Or en tapant dans le terminal de Pycharm : pip install python-docx, j'ai ceci :

No Python at '"C:\Users\quent\AppData\Local\Programs\Python\Python312\python.exe'

La version 312 est désinstallée ! Enfin il me reste çà :

0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270 > quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024
Modifié le 15 avril 2024 à 11:08

Ah j'ai réussi en passant par le package de Pycharm, j'ai installé python-docx, ENFIN !

0
quentin2121 Messages postés 8523 Date d'inscription lundi 24 mai 2010 Statut Membre Dernière intervention 29 avril 2024 1 270
Modifié le 15 avril 2024 à 17:28

Bonjour Mamiemando,

Merci d'avoir clos le sujet. Mais je ne l'avais pas fais car j'ai encore des questions. J'ai installé pyinstaller sur mon pc, pour exécuter des projets python depuis n'importe quels pcs non équipé de python. Cela fonctionne pour d'autres fichiers, mais pas pour l'ange_gabriel ?

En fait, dans Pycharm il s'ouvre bien avec les lignes que j'ai indiqué dans le projet, mais je voulais que tout le contenu du fichier texte s'ouvre dans la console d'excécution de Pycharm ! Puis sur un pc après l'avoir fait cheminer vers pyinstaller.

Faut-il ajouter d'autres lignes de code pour qu'il s'affiche dans Pycharm ? Sera t-il possible d'en faire un fichier .exe via pyinstaller . Merci encore pour l'aide !


0
mamiemando Messages postés 33084 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 avril 2024 7 750
16 avril 2024 à 11:06

Bonjour quentin2121 : cette question n'est pas en rapport direct avec le sujet initial, et donc il faut poser ta question dans une nouvelle discussion si tu veux plus de détails. Mais dans l'idée, soit la machine cible a un interpréteur python et les dépendances nécessaires au sujet, soit il faut transformer ton projet en exécutable "stand alone" par exemple avec pyinstaller.

0