import a function from another .ipynb file

Viewed 95325

I defined a hello world function in a file called 'functions.ipynb'. Now, I would like to import functions in another file by using "import functions". I am sure that they are in the same folder. However, it still shows that "ImportError: No module named functions". By the way, I am using jupyter notebook. Thanks a lot!

4 Answers

For my use case the ipnyb import didn't work for some reason. I had to use Jupyter Notebook magic cell to import my function.:

%run MyOtherNotebook.ipynb     #this is were my function was stored
function(df)                    #then simply run the function

You can save functions.ipynb as functions.py and can import the file as import functions. Now you can use any function defined in the functions file as functions.function_name For eg, if add is a function,

functions.add(5,3)

after importing will work.

@David Rinck's answer solved the problem, but I'd like to recommend you add the boilerplate __name__ == "__main__" to guard the scripts you don't want to accidentally invoke. It works the same way as in a usual Python file.

If a .ipynb file a.ipynb is imported by another one b.ipynb

from ipynb.fs.full.a import factorial

the __name__ in a.ipynb would be ipynb.fs.full.a rather than "__main__".

Related