sys.path different in Jupyter and Python - how to import own modules in Jupyter? sys.path different in Jupyter and Python - how to import own modules in Jupyter? python python

sys.path different in Jupyter and Python - how to import own modules in Jupyter?


Here is what I do on my projects in jupyter notebook,

import syssys.path.append("../") # go to parent dirfrom customFunctions import *

Then, to affect changes in customFunctions.py,

%load_ext autoreload%autoreload 2


Jupyter is base on ipython, a permanent solution could be changing the ipython config options.

Create a config file

$ ipython profile create$ ipython locate/Users/username/.ipython

Edit the config file

$ cd /Users/username/.ipython$ vi profile_default/ipython_config.py

The following lines allow you to add your module path to sys.path

c.InteractiveShellApp.exec_lines = [    'import sys; sys.path.append("/path/to/your/module")']

At the jupyter startup the previous line will be executed

Here you can find more details about ipython config https://www.lucypark.kr/blog/2013/02/10/when-python-imports-and-ipython-does-not/


Jupyter has its own PATH variable, JUPYTER_PATH.

Adding this line to the .bashrc file worked for me:

export JUPYTER_PATH=<directory_for_your_module>:$JUPYTER_PATH