как автоматически запускать python jupyter notebook

У меня есть код в jupyter python, но мне нужно запускать его каждый день, поэтому я хотел бы знать, есть ли способ установить это, я действительно ценю это

Ответы

Ответ 1

Это лучше сочетать с воздушным потоком, если вы хотите иметь более высокое качество. Я упаковал их в образ докеры, https://github.com/michaelchanwahyan/datalab.

Это делается путем изменения пакета open source nbparameterize и интеграции передающих аргументов, таких как execute_date. График может генерироваться "на лету". Выход может обновляться и сохраняться внутри ноутбука.

Когда он выполняется

  • ноутбук будет считываться и вводить параметры
  • ноутбук выполнен, и выход будет перезаписывать исходный путь

Кроме того, он также установил и сконфигурировал обычные инструменты, такие как искра, кера, тензорный поток и т.д.

Ответ 2

Обновить
недавно я наткнулся на бумажную фабрику, которая предназначена для производства и параметризации ноутбуков.

https://github.com/nteract/papermill

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

Это кажется лучше, чем nbconvert, потому что вы можете использовать параметры. Вы все еще должны запустить эту команду с планировщиком. Ниже приведен пример использования cron в Ubuntu.


Старый ответ

nbconvert --execute

может выполнить блокнот jupyter, этот встроенный в cronjob будет делать то, что вы хотите.

Пример настройки на Ubuntu:

Создайте yourscript.sh со следующим содержимым:

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

У вас есть больше возможностей, кроме ноутбука --to. Мне нравится эта опция, так как у вас есть полностью исполняемый "журнал" -File впоследствии.

Я рекомендую использовать виртуальную среду для запуска вашей записной книжки, чтобы избежать будущих ошибок в вашем скрипте. Не забудьте установить nbconvert в среду.

Теперь создайте cronjob, который запускается каждый день, например, в 5:10 утра, набрав в своем терминале crontab -e и добавив crontab -e строку:

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

Ответ 3

Попробуйте расширение SeekWell Chrome. Это позволяет планировать запуск записных книжек еженедельно, ежедневно, ежечасно или каждые 5 минут, прямо с ноутбуков Jupyter. Вы также можете отправить DataFrames непосредственно в Sheets или Slack, если хотите.

Здесь демонстрационное видео, а также дополнительная информация в ссылке Chrome Web Store выше.

** Раскрытие информации: я соучредитель SeekWell

Ответ 4

Выполнение записных книжек Jupyter с параметрами удобно выполнять с помощью Papermill. Я также нахожу удобным совместное использование/управление версией записной книжки в виде файла Markdown или скрипта Python с помощью Jupytext. Затем я конвертирую блокнот в файл HTML с помощью nbconvert. Обычно мой рабочий процесс выглядит следующим образом:

cat world_facts.md \
| jupytext --from md --to ipynb --set-kernel - \
| papermill -p year 2017 \
| jupyter nbconvert --no-input --stdin --output world_facts_2017_report.html

Подробнее о вышеизложенном, в том числе о том, как указать среду Python, в которой предполагается запускать блокнот, и о том, как использовать непрерывную интеграцию с блокнотами, читайте в моей статье Автоматизированные отчеты с блокнотами Jupyter (с использованием Jupytext и Papermill).), которые вы можете прочитать на Medium, GitHub или на Binder. Используйте ссылку Binder, если вы хотите в интерактивном режиме проверить результаты выполнения команд в статье.

Ответ 5

Вы можете добавить блокнот Jupyter в Cronjob

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

Вы должны заменить /home/ec2-user/anaconda3 на место установки anaconda, и вы можете запланировать время на основе ваших требований в cron