Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur cours initiation modules et librairies

erreur au niveau de l'importation d'un module

    9 novembre 2022 à 17:53:50

    Bonjour à toutes et à tous !

    Pour pouvoir importer le module "geometry", il faut d'abord l'installer 'pip install geometry' et mettre une majuscule lors de l'importation 'import Geometry'.

    Ces instructions ne sont pas notifiées dans le cours.

    Cordialement,

    Dan

    -
    Edité par DanielNguyen16 9 novembre 2022 à 17:54:34

    • Partager sur Facebook
    • Partager sur Twitter
      9 novembre 2022 à 19:44:45

      non pas dans ce cours; geometry c'est le fichier geometry.py créé par l'utilisateur dans la partie https://openclassrooms.com/fr/courses/6204541-initiez-vous-a-python-pour-lanalyse-de-donnees/6250516-prenez-en-main-les-modules-et-librairies-python 

      Dans le cours, c'est un fichier qui se situe au même niveau que le fichier principal du script, et comme il s'agit de ton propre module pas besoin de l'installer, et c'est donner pour l'exemple.

      Pour exécuter pip dans jupyter notebook, il faut faire

      import sys
      !{sys.executable} -m pip install [package_name]

      https://stacklima.com/installer-le-package-python-a-laide-de-jupyter-notebook/ 

      • Partager sur Facebook
      • Partager sur Twitter
        10 novembre 2022 à 9:35:55

        Merci pour votre réponse. Je débute sur Python.

        Je bloque à ce niveau : lorsque je saisis "import geometry", j'ai le message suivant :

        ---------------------------------------------------------------------------
        ModuleNotFoundError                       Traceback (most recent call last)
        Input In [3], in <cell line: 1>()
        ----> 1 import geometry
        
        ModuleNotFoundError: No module named 'geometry'
        Je ne peux pas continuer.
        • Partager sur Facebook
        • Partager sur Twitter
          10 novembre 2022 à 10:04:37

          Salut,

          As-tu bien un fichier nommé geometry.py dans ton répertoire par défaut ??

          • Partager sur Facebook
          • Partager sur Twitter
            10 novembre 2022 à 10:10:13

            Salut Garkam,

            Dans le répertoire "C:\Users\dan\anaconda3\Lib\site-packages", j'ai "Geometry" et non "geometry".

            Car quand j'écris "import geometry", j'ai l'erreur "ModuleNotFoundError: No module named 'geometry'".

            Je n'ai pas cette erreur quand j'écris "import Geometry".

            • Partager sur Facebook
            • Partager sur Twitter
              10 novembre 2022 à 10:19:13

              Regarde le lien de umfred ci-dessus, c'est un fichier que tu dois créer !!
              • Partager sur Facebook
              • Partager sur Twitter
                10 novembre 2022 à 10:31:51

                J'ai bien suivi le lien mais il y a sûrement quelque chose que je n'ai pas compris.

                J'écris "pip install geometry", je redémarre le kernel. Jusqu'ici pas d'erreurs.

                Mais quand je veux importer le module "import geometry", il ne le trouve pas, "ModuleNotFoundError: No module named 'geometry'".

                De plus, dans le répertoire C:\Users\dan\anaconda3\Lib\site-packages, j'ai "Geometry" et non "geometry".

                Aussi, j'ai remarqué que le dossier "geometry" se trouvait dans un autre répertoire C:\Users\dan\anaconda3\Lib\site-packages\sympy.

                J'ai essayé de le copier dans le répertoire C:\Users\dan\anaconda3\Lib\site-packages mais il me dit qu'il y a déjà le répertoire "Geometry".

                -
                Edité par DanielNguyen16 10 novembre 2022 à 10:35:33

                • Partager sur Facebook
                • Partager sur Twitter
                  10 novembre 2022 à 11:22:25

                  Hello,

                  On va te le répéter une fois de plus:

                  Tu dois créer toi-même un fichier geometry.py dans le même répertoire que le script qui l'appelle

                  Il n'y a  pas de pip install à faire 

                  Ça donne ça:

                  et mon_script contient au début:

                  import geometry

                  -
                  Edité par Phil_1857 10 novembre 2022 à 11:25:29

                  • Partager sur Facebook
                  • Partager sur Twitter
                    10 novembre 2022 à 12:12:41

                    Il faut indiquer en fait le chemin depuis le répertoire duquel est lancé jupyter

                    Si quand tu lances jupyter, tu te sites dans c:\python\projet, et que le fichier geometry.py se trouve dans c:\python\projet\test_geometry; alors il faudra faire "import test_geometry.geometry"

                    sinon on peut faire:

                    import sys
                    sys.path.append('chemin/vers/geometry') # on met un répertoire, sans nom de fichier ('c:/softs/projet/test_geometry' selon l'exemple que j'ai donné)
                    
                    import geometry

                    Pour savoir dans chemin tu travailles (= dossier de travail du notebook):

                    import os
                    print(os.getcwd())


                    Les fichiers geometry que tu trouves sont ceux du module Geometry que tu as installé avec la commande de ton 1er post et l'autre est un sous-module de sympy, et n'ont donc rien à voir avec le fichier geometry créé dans l'exemple (en fait, le fichier geometry créé dans le cours est une version light de celui du module Geometry que tu as installé initialement)

                    -
                    Edité par umfred 10 novembre 2022 à 12:23:54

                    • Partager sur Facebook
                    • Partager sur Twitter
                      10 novembre 2022 à 15:10:03

                      @umfred

                      Merci pour ta réponse plus claire.

                      J'ai créé "geometry.py" dans le répertoire que "import OS" a affiché. Mais j'ai le message suivant :

                      "Requirement already satisfied: geometry in c:\users\dan\anaconda3\lib\site-packages (0.0.23)

                      Or il n'y a ni dossier ni fichier nommé "geometry" dans ce répertoire.


                      • Partager sur Facebook
                      • Partager sur Twitter
                        10 novembre 2022 à 15:50:05

                        Heu.... Comment te le dire.

                        Ce n'est pas dans C:\Users\danie qu'il doit être copié, mais dans le même dossier que le script qui l'appelle.


                        Et en faisant -m pip install geometry, tu as installé le module Geometry qui n'a rien à voir.

                        -
                        Edité par Garkam 10 novembre 2022 à 16:13:11

                        • Partager sur Facebook
                        • Partager sur Twitter
                          10 novembre 2022 à 16:24:13

                          il faut faire un reset du kernel pour qu'il oublie les imports d'une précédente exécution. et je répète si tu veux utiliser un module que tu as toi même créé, inutile de faire un pip install de celui-ci (pip va chercher les infos sur pypi) 

                          Mais surtout, sur ta capture, tu n'as pas créé de fichier geometry.py, tu as juste copié son code dans une cellule de ton notebook. regarde ma capture, j'ai un fichier geometry.py et mon notebook

                          Si tu copies le code dans une cellule, pas besoin d'import, le code est au même niveau que le reste, donc tu as accès aux classes définis carre et triangle, à la fonction aire() et aux variables pi et phi directement (comme si tout était dans un seul et unique fichier)

                          • Partager sur Facebook
                          • Partager sur Twitter
                            11 novembre 2022 à 10:33:51

                            C'est bon ça fonctionne.

                            Le problème est que, étant débutant sur Python et le fonctionnement de Jupyter, je suis les cours bêtement, comme un ordinateur éxécutant une fonction ligne par ligne. 

                            Le cours ne mentionne pas qu'il faut créer un fichier geometry.py et l'importer à partir d'un autre notebook. Je sais, c'est logique, mais c'est une logique que j'apprends (notebook, cellule, fonction etc.).

                            En tout cas merci beaucoup pour vos réponses, je peux terminer ce cours d'initiation :)

                            Dan

                            -
                            Edité par DanielNguyen16 11 novembre 2022 à 10:38:01

                            • Partager sur Facebook
                            • Partager sur Twitter

                            Erreur cours initiation modules et librairies

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown