Souhaitez enregistrer & exécuter le script Python dans Jupyter pour ordinateur Portable (Anaconda)
Un autre python newbie.
Actuellement, je suis en utilisant Jupypter ordinateur portable dans anaconda cadre.
Afin de poursuivre mes projets à l'aide de iPython Notebook,
J'ai besoin d'exécuter certains de mes scripts python (tp.py fichier) sur l'ordinateur portable.
from tp import wordtoplural
Depuis, il rend la vie beaucoup plus facile au lieu de définir toutes les fonctions dans le cahier lui-même.
Comment puis-je le faire, actuellement importerrors se produit sur mon code.
ImportError: cannot import name wordtoplural
- iPython notebook et un script python(.py) sont dans le même dossier.
- Ajouté vide
__init.py__
fichier sur le répertoire.
Il devrait être
__init__.py
, pas __init.py__
-- des extensions de fichier toujours aller à la fin 🙂OriginalL'auteur SUNDONG | 2015-10-12
Vous devez vous connecter pour publier un commentaire.
Assurez-vous que votre ipython notebook est dans le même dossier que votre script python. Aussi, vous pourriez avoir à créer un vide
__init__.py
fichier dans le même dossier que votre script python pour faire de l'import de travail.Puisque vous aurez probablement être modifier votre script python et de le tester directement sur votre ordinateur portable, vous pouvez être intéressé par la autoreload plugin, qui va automatiquement mettre à jour les modules importés avec les modifications que vous venez de faire dans vos scripts python:
Noter que vous devez placer vos importations, après avoir appelé le autoreload plugin.
Note également que, dans certains cas, vous pouvez avoir besoin de l'ajouter dans votre IPython notebook tout en haut de la première cellule (après l' % magies):
Limitations: autoreload fonctionne bien en général pour recharger une partie du code d'un module, mais il existe quelques exceptions, comme sur les nouvelles méthodes de la classe: si vous ajoutez ou modifiez le nom d'une méthode, vous devez recharger le noyau! Sinon, il continuera à soit la charge à l'ancienne définition de cette méthode ou de l'échec dans la résolution (méthode non trouvé), ce qui peut être particulièrement déroutant lorsque vous êtes à la surcharge de méthodes magiques (dans ce cas, la valeur par défaut de la magie méthode sera appelée à la place de votre définition!). Puis une fois le nom de la méthode est définie et le noyau rechargé, vous pouvez librement modifier le code de cette méthode, le nouveau code sera automatiquement rechargé.
Aussi il va échouer si vous utilisez super() appelle dans les classes que vous changer, vous aurez également à recharger le noyau si cela se produit.
essayez d'1 - redémarrer le noyau, 2 - exécuter le autoreload code seul, sans aucun autre code dans la cellule, 3 - l'exécution de votre code avec votre importations. Vous avez ensuite besoin de ré-exécuter l'importation à chaque fois que vous souhaitez mettre à jour votre script, le autoreload alors se débarrasser automatiquement pour forcer la ré-importer.
OriginalL'auteur gaborous
Oh j'ai trouvé la solution ce que je veux.
Dans Jupyter ordinateur Portable, vous pouvez transférer une cellule en python script directement.
Je l'ai trouvé sur ipython tutoriel, vous pouvez vous référer cette [.ipynb fichier]
Par l'exécution de ci-dessous de la cellule dans votre ordinateur, vous pouvez transférer directement de votre
code dans .py fichier dans le même répertoire.
Ensuite, vous pouvez le récupérer par l'importation .py fichier comme ceci.
Cependant, je ne pouvais pas comprendre comment accéder à tout .py fichier sauvegardé dans un autre répertoire (procédure d'Importation .. ou etc)
__init__.py
fichier dans chaque diretory où il y a des .py fichiers afin de pouvoir les importer (ajout de ce fichier transformer le répertoire dans un paquet python).OriginalL'auteur SUNDONG