Как указать ядро ​​при выполнении записной книжки Jupyter с помощью Python-клиента Papermill? - PullRequest
0 голосов
/ 07 мая 2019

Я запускаю скрипт ноутбука jupyter, используя python-клиент Papermill.Во время работы хочу указать ядро.Однако скрипт выполнялся в том же ядре, что и моя активная оболочка python (через которую я сделал API-вызов papermill для запуска скрипта ноутбука).

Я попытался просмотреть документацию (https://papermill.readthedocs.io/en/latest/usage-execute.html#execute-via-the-python-api) но зря.

import papermill as pm
pm.execute_notebook( 'dfnjofnei.ipynb', 'dfnjofnei_output.ipynb' )

1 Ответ

0 голосов
/ 07 мая 2019

Используйте pipenv для управления виртуальными средами и построения ядер на основе любых инструментов, которые вы используете.

Сначала убедитесь, что у вас установлена ​​ pipenv . Затем вы можете легко создать новое ядро ​​pipenv и ipython с

$ pipenv [--two|--three] install ipykernel

После того, как вы создали ipykernel, вам необходимо установить его:

$ pipenv run python -m ipykernel install --user --name=My_Project_Name"

Добавьте любые дополнительные пип-модули, которые вы хотели бы иметь в venv:

$ pipenv install module_name

Запустите Jupyter Notebook и выберите свое ядро ​​из выпадающего меню.

Теперь вы можете добавлять модули по своему желанию, и они будут доступны без перезапуска ядра.

Чтобы упростить этот процесс, я создал небольшой инструмент, который автоматически создает среду pipenv из командной строки. Это также помогает удалить неиспользуемые ядра. Вы можете найти его здесь вместе со скриптом, чтобы вырезать из любого ноутбука %magic и преобразовать ipynotebooks в работающие скрипты на python.

Использование:

# create a python 3 virtualenv and add the kernel to ipython
$ mkdir MyProject
$ cd MyProject
$ pipenv_jupyter.sh -3
# remove an unwanted kernel
$ pipenv_jupyter.sh -c
...