Partage
  • Partager sur Facebook
  • Partager sur Twitter

Importer le contenu d'un fichier python

Sujet résolu
    17 juin 2021 à 12:09:42

    Bonjour.

    Je suis actuellement sur le navigateur jupiter.

    J'ai crée dedans un fichier hello.py avec une fonction hello qui affiche un message qui indique "Hello"

    Avec le notebook j'essaie d'importer la fonction hello du fichier hello.py je tape donc cette commande :

    from hello import hello

    Puis le notebook affiche cette erreur :

    "ImportError: cannot import name 'hello' from 'hello' (C:\Users\Acer\hello.py)"

    Je précise que lorsque j'essaie seulement d'importer le fichier ça fonctionne, mais je ne peux jamais accéder au contenu du fichier que ce soit des variables ou des fonctions.

    J'ai aussi essayé avec l'interpréteur python, je me suis déplacé dans le fichier courant, j'ai importé le fichier sur jupyter ainsi que la fonction et là ça a fonctionné.

    C'est donc un problème qui provient directement de jupyter je pense, vous avez une idée de ce qui peut bloquer ? 

    -
    Edité par BastienPortigo 17 juin 2021 à 12:14:02

    • Partager sur Facebook
    • Partager sur Twitter
      17 juin 2021 à 12:45:25

      BastienPortigo a écrit:

      Bonjour.

      Je suis actuellement sur le navigateur jupiter.

      J'ai crée dedans un fichier hello.py avec une fonction hello qui affiche un message qui indique "Hello"

      Tu as créé dedans quoi ? Tu dois créer un fichier hello.py dans le même répertoire que celui dans lequel se trouve ton fichier ipynb.

      BastienPortigo a écrit:

      Puis le notebook affiche cette erreur :

      "ImportError: cannot import name 'hello' from 'hello' (C:\Users\Acer\hello.py)"

      Je précise que lorsque j'essaie seulement d'importer le fichier ça fonctionne, mais je ne peux jamais accéder au contenu du fichier que ce soit des variables ou des fonctions.

      J'ai aussi essayé avec l'interpréteur python, je me suis déplacé dans le fichier courant, j'ai importé le fichier sur jupyter ainsi que la fonction et là ça a fonctionné.

      C'est donc un problème qui provient directement de jupyter je pense, vous avez une idée de ce qui peut bloquer ? 

      C'est assez curieux, je viens de le faire chez moi, ça marche sans aucun problème, il faut créer une fonction hello en minuscules. Donne les codes complets de ce que tu as écrit dans ta cellule Jupyter et dans ton fichier hello.py
      • Partager sur Facebook
      • Partager sur Twitter
        17 juin 2021 à 17:43:33

        J'ai fait exactement comme il a dit dans la vidéo à partir de 1 minute 20 : https://openclassrooms.com/fr/courses/4452741-decouvrez-les-librairies-python-pour-la-data-science/5574801-faites-vos-premiers-pas-dans-un-notebook-jupyter

        Lui ça fonctionne et moi ça ne fonctionne pas, pourtant j'ai fait exactement pareil 

        Je ne pense pas que ce soit un problème de répertoire car ils sont bien dans le même et en plus je peux faire import hello ou encore from hello import *

        par contre les fonctions et variables à l'intérieur du fichier n'existeront pas

        Edit : Il semble que pour régler le problème il faut passer par un fichier bloc note ou autre éditeur de texte, ça ne fonctionne pas avec le fichier par défaut de jupyter. 

        -
        Edité par BastienPortigo 17 juin 2021 à 18:53:04

        • Partager sur Facebook
        • Partager sur Twitter
          17 juin 2021 à 18:57:20

          j'ai testé en ligne, et j'ai eu le même problème. la résolution a été d'éteindre le notebook, et en relançant les commandes, ça devrait fonctionner.

          (Ne pas oublier de sauvegarder le fichier .py avant, si ce n'est pas fait en automatique)

          • Partager sur Facebook
          • Partager sur Twitter
            17 juin 2021 à 19:23:03

            umfred a écrit:

            j'ai testé en ligne, et j'ai eu le même problème. la résolution a été d'éteindre le notebook, et en relançant les commandes, ça devrait fonctionner.

            (Ne pas oublier de sauvegarder le fichier .py avant, si ce n'est pas fait en automatique)


            Je ne sais pas ce que tu entends par éteindre le notebook mais chez moi ça marche en faisant menu Kernel > Restart ou en français Noyau > Redémarrer (mais ça ne ferme ni ne déconnecte du notebook). Si le fichier python a été créé avant la session Jupyter, l'importation ne pose aucun problème.
            • Partager sur Facebook
            • Partager sur Twitter
              17 juin 2021 à 19:27:45

              Dans le truc en ligne que j'ai testé, ça s'appelait shutdown (donc traduit en arrêter) (je crois que c'est l'icone carré type bouton stop dans l'interface du notebook); après effectivement, si il y a moyen de faire un redémarrage, ça enchaine les deux ^^
              • Partager sur Facebook
              • Partager sur Twitter
                17 avril 2022 à 16:00:38

                Merci à vous

                J'ai aussi tenté plein de choses avant de voir ce sujet.

                Le redémarrage du kernel a finalement résolu le problème.

                • Partager sur Facebook
                • Partager sur Twitter

                Importer le contenu d'un fichier python

                × 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