Can't use Jupyter Notebook: jsonschema apparently missing

When using an Anaconda environment, I can't start Jupyter to work in a notebook. I can do so without the environment, but I need to be able to use the environment. Here's what I do and the errors I get:

ben@ben-K60IJ:~/surveillance_sound_classifier/surveillance_sound_classifier$ source activate EECS352
discarding /home/ben/anaconda/bin from PATH
prepending /home/ben/anaconda/envs/EECS352/bin to PATH
(EECS352)ben@ben-K60IJ:~/surveillance_sound_classifier/surveillance_sound_classifier$ jupyter notebook
Traceback (most recent call last):
  File "/home/ben/anaconda/envs/EECS352/bin/jupyter-notebook", line 4, in <module>
import notebook.notebookapp
  File "/home/ben/anaconda/envs/EECS352/lib/python2.7/site-packages/notebook/", line 61, in <module>
from .services.contents.manager import ContentsManager
  File "/home/ben/anaconda/envs/EECS352/lib/python2.7/site-packages/notebook/services/contents/", line 16, in <module>
from nbformat import sign, validate, ValidationError
  File "/home/ben/anaconda/envs/EECS352/lib/python2.7/site-packages/nbformat/", line 33, in <module>
from .validator import validate, ValidationError
  File "/home/ben/anaconda/envs/EECS352/lib/python2.7/site-packages/nbformat/", line 21, in <module>
raise ImportError(str(e) + verbose_msg)
ImportError: No module named functools32

Jupyter notebook format depends on the jsonschema package:

Please install it first.

Yes, I've done pip install jsonschema and conda install jsonschema AND pip install functools32 and conda install functools32 from within the EECS352 environment to no avail; I arrive at an almost identical error, except this time, functools32 is replaced with _version.

I've reinstalled Anaconda, updated all its packages, created a new environment in the same way I created this one, and still I get this error. I'm using Ubuntu 15.10 32-bit. I used to be able to use this environment with no problems until roughly a week ago.

If this is a duplicate, please point me to the original; however, I haven't yet found anything that seems really relevant. The only thing that might be relevant is that this error did pop up after I modified some .conf file because I was having issues updating my computer's software using sudo apt-get upgrade. I don't recall what I had done and to which file, but if it's likely the source of this issue, I can spend some time trying to track it down. Please let me know if I should spend my time to do this, and I will.


  • I think I have a solution.

    I did may things, regenerated my env (anaconda env) from another computer where it worked, but no success.

    What I think that nailed it is upgrading jsonschema to 2.5.1

    Here are my steps from "bad" jupyter env to working jupyter env.

    Good luck and come back if it doesn't work, I will post the notebook* relevant versions.

    >conda upgrade pip
    pip:        8.1.0-py27_0  --> 8.1.1-py27_0
    setuptools: 20.2.2-py27_0 --> 20.3-py27_0 
    >pip install functools32
    Downloading functools32-3.2.3-2.tar.gz    
    Successfully installed functools32-3.2.3.post2
    >jupyter notebook
    ImportError: No module named _version
    Jupyter notebook format depends on the jsonschema package:
    Please install it first.
    >pip install jsonschema
    Requirement already satisfied
    >pip install --upgrade jsonschema
    Collecting jsonschema
    Downloading jsonschema-2.5.1-py2.py3-none-any.whl
    Successfully uninstalled jsonschema-2.4.0
    Successfully installed jsonschema-2.5.1
    >jupyter notebook
    [I 16:45:41.708 NotebookApp] Writing notebook server cookie secret to 
    [I 16:45:42.134 NotebookApp] Serving notebooks from local directory: 
    [I 16:45:42.134 NotebookApp] 0 active kernels 
    [I 16:45:42.134 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/