Importing an ipynb file from another ipynb file?
Solution 1:
It is really simple in newer Jupyter:
%run MyOtherNotebook.ipynb
See here for details.
Official docs: %run
IPython magic command
Solution 2:
Install my helper library from the command prompt:
pip install import-ipynb
Import it from your notebook:
import import_ipynb
Now import your .ipynb notebook as if it was a .py file
import TheOtherNotebook
This python-ipynb
module is just one file and it strictly adheres to the official howto on the jupyter site.
PS It also supports things like from A import foo
, from A import *
etc
PPS Works with subdirectories: import A.B
Solution 3:
Run
!pip install ipynb
and then import the other notebook as
from ipynb.fs.full.<notebook_name> import *
or
from ipynb.fs.full.<notebook_name> import <function_name>
Make sure that all the notebooks are in the same directory.
Edit 1: You can see the official documentation here - https://ipynb.readthedocs.io/en/stable/
Also, if you would like to import only class & function definitions from a notebook (and not the top level statements), you can use ipynb.fs.defs
instead of ipynb.fs.full
. Full uppercase variable assignment will get evaluated as well.
Solution 4:
Install ipynb from your command prompt
pip install import-ipynb
Import in your notebook file
import import_ipynb
Now use regular import command to import your file
import MyOtherNotebook
Solution 5:
You can use import nbimporter
then import notebookName