импорт функций из другого ноутбука Jupyter - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь импортировать функцию из другого ноутбука Jupyter

В n1.ipynb:

def test_func(x):
  return x + 1
-> run this

В n2.ipynb:

%%capture
%%run n1.ipynb
test_func(2)

Ошибка:

NameError Traceback (most recent call last)<ipython-input-2-4255cde9aae3> in <module>()
----> 1 test_func(1)

NameError: name 'test_func' is not defined

Есть ли простой способ сделать это, пожалуйста?

1 Ответ

0 голосов
/ 31 мая 2018

Здесь нам помогает модуль nbimporter:

pip install nbimporter

Например, с двумя записными книжками в этой структуре каталогов:

/ src / configuration_nb.ipynb

анализ.ipynb

/ src / configuration_nb.ipynb:

class Configuration_nb():
    def __init__(self):
        print('hello from configuration notebook')

analysis.ipynb:

import nbimporter
from src import configuration_nb

new = configuration_nb.Configuration_nb()

вывод:

Importing Jupyter notebook from ......\src\configuration_nb.ipynb
hello from configuration notebook

Мы также можемимпортировать и использовать модули из файлов Python.

/ src / configuration.py

class Configuration():
    def __init__(self):
        print('hello from configuration.py')

analysis.ipynb:

import nbimporter
from src import configuration

new = configuration.Configuration()

вывод:

hello from configuration.py
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...