kiril
kiril

Reputation: 5202

TypeError when executing jupyter nbconvert

I'm having trouble running jupyter nbconvert.

It always shows the following error trace (even with a notebook with a few vanilla cells)

Traceback (most recent call last):
  File "/home/miguel/.virtualenvs/ipython/bin/jupyter-nbconvert", line 11, in <module>
    sys.exit(main())
  File "/home/miguel/.virtualenvs/ipython/local/lib/python2.7/site-packages/jupyter_core/application.py", line 267, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/home/miguel/.virtualenvs/ipython/local/lib/python2.7/site-packages/traitlets/config/application.py", line 596, in launch_instance
    app.start()
  File "/home/miguel/.virtualenvs/ipython/local/lib/python2.7/site-packages/nbconvert/nbconvertapp.py", line 293, in start
    self.convert_notebooks()
  File "/home/miguel/.virtualenvs/ipython/local/lib/python2.7/site-packages/nbconvert/nbconvertapp.py", line 447, in convert_notebooks
    self.exporter = cls(config=self.config)
  File "/home/miguel/.virtualenvs/ipython/local/lib/python2.7/site-packages/nbconvert/exporters/templateexporter.py", line 151, in __init__
    super(TemplateExporter, self).__init__(config=config, **kw)
  File "/home/miguel/.virtualenvs/ipython/local/lib/python2.7/site-packages/nbconvert/exporters/exporter.py", line 101, in __init__
    self._init_preprocessors()
  File "/home/miguel/.virtualenvs/ipython/local/lib/python2.7/site-packages/nbconvert/exporters/exporter.py", line 250, in _init_preprocessors
    self.register_preprocessor(preprocessor, enabled=True)
  File "/home/miguel/.virtualenvs/ipython/local/lib/python2.7/site-packages/nbconvert/exporters/exporter.py", line 211, in register_preprocessor
    preprocessor_cls = import_item(preprocessor)
  File "/home/miguel/.virtualenvs/ipython/local/lib/python2.7/site-packages/ipython_genutils/importstring.py", line 31, in import_item
    module = __import__(package, fromlist=[obj])
TypeError: Item in ``from list'' not a string

It might be related with the nbextensions which I recently installed, since some days ago the jupyter nbconvert command used to work perfectly.

Today, I've been having some trouble installing the nbextensions. I tried using conda, but finally the it worked when I followed the instructions from here.

Upvotes: 3

Views: 1805

Answers (3)

akaufman10
akaufman10

Reputation: 11

This bug was fixed recently, see the details here. Run a full update for ipython or, to fix manually:

change line 31 in your ipython_genutils/importstring.py from

module = __import__(package, fromlist=[obj])     

to

module = __import__(package, fromlist=[str(obj)])

Upvotes: 1

hercmulligan
hercmulligan

Reputation: 71

Found a solution here. Basically, you need to remove or rename your jupyter_nbconvert_config file.

Upvotes: 2

ciri
ciri

Reputation: 123

I had the same problem today. It seems this is a bug in nbconvert, as documented here. The solution is to edit your "jupyter_nbconvert_config.json" file. For me, this was located in my home directory by default: /home/me/.jupyter/jupyter_nbconvert_config.json

There, I changed the preprocessor strings, adding an "r" in front of them:

{
  "Exporter": {
    "template_path": [
      ".", 
      "/usr/lib/python2.7/site-    packages/jupyter_contrib_nbextensions/templates"
    ], 
    "preprocessors": [
      r"jupyter_contrib_nbextensions.nbconvert_support.CodeFoldingPreprocessor", 
      r"jupyter_contrib_nbextensions.nbconvert_support.PyMarkdownPreprocessor"
    ]
  }, 
  "NbConvertApp": {
    "postprocessor_class":     "jupyter_contrib_nbextensions.nbconvert_support.EmbedPostProcessor"
  }, 
  "version": 1
}

Upvotes: 2

Related Questions