Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Librairie Data Science] Attribute error fibo

Sujet résolu
    15 juillet 2020 à 15:35:24

    Bonjour,

    Je suis nouveau sur Python, j'ai pu suivre les cours "Démarrez votre projet avec Python" , "Découvrez la programmation orientée objet avec Python" ainsi que "Initiez-vous à Python pour l'analyse de données", et je démarre actuellement le cours "Découvrez les librairies Python pour la Data Science".

    N'ayant que peu utilisé le Notebook Jupyter auparavant, je rencontre un problème lors de la première écriture d'un module.

    J'ai donc enregistré le code ci-dessous sous

    def fib(n):
        a, b = 0, 1
        while b < n:
            print(b, end=' ')
            a, b = b, a+b
        print()

    et j'ai lancé dans une autre fenêtre Notebook dans le même repertoire :

    import fibo
    fibo.fib(10)

    Suite à quoi j'obtiens l'erreur suivante: 

    ---------------------------------------------------------------------------
    AttributeError                            Traceback (most recent call last)
    <ipython-input-4-a1c27cded90a> in <module>
          1 import fibo
    ----> 2 fibo.fib(10)
    
    AttributeError: module 'fibo' has no attribute 'fib'

    Est-ce une erreur liée au repertoire? Quelqu'un pourrait m'orienter afin de comprendre et résoudre ce problème? 

    Je vous remercie d'avance :)



    • Partager sur Facebook
    • Partager sur Twitter
      15 juillet 2020 à 15:41:10

      Est-ce que les 2 fichiers sont bien enregistrés ?
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        15 juillet 2020 à 16:30:32

        Hum, bizarre... Pas mieux que mon VDD...
        • Partager sur Facebook
        • Partager sur Twitter
          15 juillet 2020 à 17:07:24

          Les deux fichiers ont bien été enregistrés.

          Après plusieurs essais infructueux, j'ai effectué "Delete cells" pour tout supprimer de mon Notebook et réessayer, et cela a enfin fonctionné !

          Je vous remercie pour votre aide!

          • Partager sur Facebook
          • Partager sur Twitter
            27 mai 2022 à 22:03:46

            J'avais le même problème.

            Je pense que c'est dû au fait qu'une fois un module importé, on ne peut pas le réimporter sans fermer la session python/le notebook.

            Si par exemple vous avez écrit def fibz(n), sauvegardé, puis importé fibo.py dans un autre notebook, puis modifié fibo.py pour mettre def fib(n), le notebook qui a déjà importé "fibz" n'importera pas "fib".

            Il faut tout fermer et relancer, ou bien utiliser la fonction "reload" de importlib (https://docs.python.org/3/library/importlib.html)

            from importlib import reload
            reload(fibo)

            TLDR : une fois qu'un module est importé, on ne peut pas le ré-importer s'il a été modifié

            -
            Edité par Ludo.PY 27 mai 2022 à 22:07:00

            • Partager sur Facebook
            • Partager sur Twitter
              29 juillet 2022 à 7:39:56 - Message modéré pour le motif suivant : Toute forme de publicité est interdite


              [Librairie Data Science] Attribute error fibo

              × 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