importing functions from another jupyter notebook

雨燕双飞 提交于 2020-04-06 02:17:24

问题


I am trying to import a function from another jupyter notebook

In n1.ipynb:

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

In n2.ipynb:

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

Error:

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

NameError: name 'test_func' is not defined

Any easy ways to do this please?


回答1:


The nbimporter module helps us here:

pip install nbimporter

For example, with two notebooks in this directory structure:

/src/configuration_nb.ipynb

analysis.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()

output:

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

We can also import and use modules from python files.

/src/configuration.py

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

analysis.ipynb:

import nbimporter
from src import configuration

new = configuration.Configuration()

output:

hello from configuration.py


来源:https://stackoverflow.com/questions/50576404/importing-functions-from-another-jupyter-notebook

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!