Hey folks, 

I've been searching all morning, but coming up empty. The question is this:
Is there a way to using the nbconvert python API with a kernel installed in 
a conda environment?


Background:
I'm trying to write a documentation build script for a module that converts 
notebooks to RST, and then compiles HTML docs with Sphinx.

I have installed the module I'm documenting into an isolated conda 
environment called "probscale".

So with this trivial notebook (note the kernelspec):

a_test.ipynb:
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[-0.04809765 -0.65510951 -0.06389409 -0.78956431  1.12613107]\n"
     ]
    }
   ],
   "source": [
    "import numpy\n",
    "print(numpy.random.normal(size=5))"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python [conda env:probscale]",
   "language": "python",
   "name": "conda-env-probscale-py"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}

When I run:
    
if 1:
    import nbformat
    from nbconvert import preprocessors

    nbfile = 'a_test.ipynb'
    meta = {
        'metadata': {
            'path': '.',
        }

    }
    with open(nbfile, 'r') as nbf:
        nbook = nbformat.read(nbf, as_version=4)
        
    runner = preprocessors.ExecutePreprocessor()
    runner.preprocess(nbook, meta)
    
    with open(nbfile, 'w') as nbf:
        nbformat.write(nbook, nbf)

I get a KeyError and a NoSuchKernal error

---------------------------------------------------------------------------KeyError
                                  Traceback (most recent call 
last)C:\Users\phobson\Miniconda3\envs\probscale\lib\site-packages\jupyter_client\kernelspec.py
 in get_kernel_spec(self, kernel_name)    172         try:--> 173             
resource_dir = d[kernel_name.lower()]    174         except KeyError:
KeyError: 'conda-env-probscale-py'
[snip]
C:\Users\phobson\Miniconda3\envs\probscale\lib\site-packages\jupyter_client\kernelspec.py
 in get_kernel_spec(self, kernel_name)    173             resource_dir = 
d[kernel_name.lower()]    174         except KeyError:--> 175             raise 
NoSuchKernel(kernel_name)    176     177         return 
self._get_kernel_spec_by_name(kernel_name, resource_dir)
NoSuchKernel: No such kernel named conda-env-probscale-py



I tried adding the kernel spec from the notebook to metadata passed to 
runner.preprocess(nbook, meta), but that produced the same result.


Any thoughts or guidance would be much appreciated.


Cheers,

-Paul

-- 
You received this message because you are subscribed to the Google Groups 
"Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jupyter/cbee4894-2f86-44f0-a130-2cf63081e47c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to