[Updated 2016-03-04 to support Jupyter 4 notebooks – see below.]
IPython notebooks are stored in a format that is not particularly human-readable and doesn’t work well in version control.
One way to solve this problem is to automatically export the code from IPython notebooks into a vanilla Python file after each save.
It’s also useful to automatically generate a HTML file of the notebook on each save. This can be done manually in Jupyter (File > Download as > HTML), but if you always want this, doing it automatically is much easier.
Use the following code to automatically save a .py and a .html file when you save a notebook in Jupyter. These two files will be saved in the same folder as the parent .ipynb file.
First, run ipython locate profile default, which will give you the path to save the following code in.
Save the code below in this folder as ipython_notebook_config.py:
Now, run ipython notebook. You will see an error message in the terminal if there are any syntax or runtime errors with ipython_notebook_config.py. If everything looks good, go to your web browser, open a notebook, and click the Save/Checkpoint button (it’s the floppy disk icon in the Jupyter toolbar). You should see a .py and a .html file appear alongside your .ipynb file.
Update for Jupyter 4 notebooks
After the big split between IPython and Jupyter, and the accompanying update to Jupyter 4.x, the config file above no longer works. Instead, put the following in a file saved at ~/.jupyter/jupyter_notebook_config.py to achieve the same thing:
This code could be DRYer, but it does work.
🌟 Was this page helpful? Please let me know with this quick, 3 question survey.