web-dev-qa-db-fra.com

comment utiliser automatiquement un cahier python jupyter tous les jours

J'ai un code dans un cahier python jupyter mais je dois l'exécuter tous les jours, donc j'aimerais savoir s'il y a un moyen de régler cela, j'apprécie vraiment 

4
Betsy Curbelo

Il est préférable de combiner le flux d'air si vous souhaitez obtenir une qualité supérieure. Je les ai emballés dans une image de menu fixe, https://github.com/michaelchanwahyan/datalab .

Cela se fait en modifiant un paquet open source nbparameter et en intégrant les arguments tels que execution_date. Le graphique peut être généré à la volée La sortie peut être mise à jour et enregistrée dans le cahier.

Quand il est exécuté

  • le cahier sera lu et injectera les paramètres
  • le bloc-notes est exécuté et la sortie écrasera le chemin d'origine

En outre, il a également installé et configuré des outils communs tels que spark, keras, tensorflow, etc.

0
Icarus

Mettre à jour
Récemment, je suis tombé sur une usine de papier destinée à l’exécution et au paramétrage des cahiers. 

https://github.com/nteract/papermill

papermill local/input.ipynb s3://bkt/output.ipynb -p alpha 0.6 -p l1_ratio 0.1

Cela semble mieux que nbconvert, car vous pouvez utiliser des paramètres. Vous devez toujours déclencher cette commande avec un planificateur. Vous trouverez ci-dessous un exemple avec cron sur Ubuntu. 


Ancienne réponse

nbconvert --execute

peut exécuter un cahier Jupyter, intégré dans une tâche cron fera ce que vous voulez.

Exemple d'installation sur Ubuntu:

Créez yourscript.sh avec le contenu suivant:

/opt/anaconda/envs/yourenv/bin/jupyter nbconvert \
                      --execute \
                      --to notebook /path/to/yournotebook.ipynb \
                      --output /path/to/yournotebook-output.ipynb

Vous avez plus d'options, sauf --to notebook. J'aime cette option car vous avez un fichier "log" entièrement exécutable après.

Je vous recommande d'utiliser un environnement virtuel pour exécuter votre ordinateur portable, afin d'éviter que les futures mises à jour ne perturbent votre script. N'oubliez pas d'installer nbconvert dans l'environnement. 

Créez maintenant une tâche cron, qui s'exécute tous les jours, par exemple. à 5:10, en tapant crontab -e dans votre terminal et en ajoutant cette ligne:

10 5 * * * /path/to/yourscript.sh
8
Zephro

vous pouvez ajouter le cahier jupyter dans cronjob

0 * * * * /home/ec2-user/anaconda3/bin/python /home/ec2-user/anaconda3/bin/jupyter-notebook

vous devez remplacer/home/ec2-user/anaconda3 par votre emplacement d'installation anaconda et vous pouvez planifier le temps en fonction de vos besoins dans cron

0
Kanak Shrivastava