Je cherche à utiliser les fichiers * .ipynb comme source de vérité et à les «compiler» par programme dans des fichiers .py pour les tâches / tâches planifiées.
La seule façon dont je comprends cela est via l'interface graphique. Existe-t-il un moyen de le faire via la ligne de commande?
ipython
ipython-notebook
Stefan Krawczyk
la source
la source
input
clés oùcell_type
est égal à «code». Jetez un oeil à ce schémaRéponses:
Si vous ne voulez pas sortir un script Python à chaque fois que vous enregistrez, ou si vous ne voulez pas redémarrer le noyau IPython:
Sur la ligne de commande , vous pouvez utiliser
nbconvert
:Comme un peu un hack, vous pouvez même appeler la commande ci-dessus dans un bloc-notes IPython par pré-attente
!
(utilisée pour tout argument de ligne de commande). À l'intérieur d'un cahier:Avant
--to script
a été ajouté , l'option était--to python
ou--to=python
, mais il a été rebaptisé en mouvement vers un système de bloc - notes langue agnostique.la source
jupyter
vous pouvez déclenchernbconvert
via des hooks avant ou après la sauvegarde:ContentsManager.pre_save_hook
abdFileContentsManager.post_save_hook
. Vous ajouteriez un crochet post-sauvegardejupyter nbconvert --to script [notebook]
jupyter nbconvert --to script /path/to/notebooks/*.ipynb
# In[ ]:
trucs de type dans le script, je veux que ce soit propre. Y'a-t'il un quelconque moyen d'y arriver?Si vous souhaitez convertir tous les
*.ipynb
fichiers du répertoire actuel en script python, vous pouvez exécuter la commande comme ceci:la source
Voici un moyen rapide et sale d'extraire le code d'ipynb V3 ou V4 sans utiliser ipython. Il ne vérifie pas les types de cellules, etc.
la source
newlines='\n'
comme troisième argument dans l'appel de fichier de sortie ouvert. (Python 3.x)En suivant l'exemple précédent mais avec la nouvelle version de lib nbformat :
la source
Vous pouvez le faire à partir de l'API IPython.
la source
Jupytext est agréable d'avoir dans votre chaîne d'outils pour de telles conversions. Il permet non seulement la conversion d'un bloc-notes en script, mais vous pouvez également revenir du script en bloc-notes. Et même faire produire ce cahier sous forme exécutée.
la source
%pip install jupytext
dans votre ordinateur portable.Pour convertir récursivement tous les fichiers au format * .ipynb du répertoire actuel en scripts python:
la source
--to script
argument pour éviter la sortie HTML par défaut dans Jupiter 4.4.0.J'ai eu ce problème et j'ai essayé de trouver la solution en ligne. Bien que j'aie trouvé des solutions, elles ont toujours des problèmes, par exemple, la
Untitled.txt
création automatique ennuyeuse lorsque vous démarrez un nouveau bloc-notes à partir du tableau de bord.J'ai donc finalement écrit ma propre solution :
Pour utiliser ce script, vous pouvez l'ajouter à
~/.jupyter/jupyter_notebook_config.py
:)Notez que vous devrez peut-être redémarrer le cahier / laboratoire jupyter pour qu'il fonctionne.
la source
Il y a un très joli paquet appelé nb_dev qui est conçu pour créer des paquets Python dans les cahiers Jupyter. Comme
nbconvert,
il peut transformer un bloc-notes en fichier .py, mais il est plus flexible et puissant car il possède de nombreuses fonctionnalités de création supplémentaires pour vous aider à développer des tests, de la documentation et à enregistrer des packages sur PyPI. Il a été développé par les gens de fast.ai.Il a un peu de courbe d'apprentissage, mais la documentation est bonne et ce n'est pas difficile dans l'ensemble.
la source