I'd like to import a func from another ipython-notebook. Say,
common_func.ipnb
has def func_a()
When I create a new notebook, how can I access the func_a
which is from another notebook but in the same folder and same ipython instance?
Thanks!
I'd like to import a func from another ipython-notebook. Say,
common_func.ipnb
has def func_a()
When I create a new notebook, how can I access the func_a
which is from another notebook but in the same folder and same ipython instance?
Thanks!
In the IPython mailing list this was discussed very recently, see here. Finally (here), an example notebook was found, which shows a way to import code from other notebooks. This notebook can be found in the
examples/notebooks
directory, and looks like this. You 'just' have to define the NotebookLoader and NotebookFinder classes as shown in the notebook. I've tried with IPython 1.1.0 and it works fine!There is now a dedicated function to achieve this called
nbimporter
- installed via pip.Usage:
And if you update notebookName.ipynb then reload by:
or this for Python 3 (reload not included by default):
Another option is
ipynb
. A nice benefit overnbimporter
is that it can import just the definitions, while not executing the rest of the code. It's fairly new at this point (0.5).And then:
When you start ipython use the --script flag: For example
Then whenever you save your notebook "common_func.ipnb" it will also create a file entitled "common_func.py." You can import functions from that by using
If you change the common_func notebook, you may need to use