Thanks, Matthias.
Yes,
https://github.com/lstagner/idl_kernel is the page I was referring to. In it, there is a statement:
#This package is no longer maintained
since IDL now has an
official
Jupyter kernel #IDL/GDL kernel for
IPython/Jupyter
and the link is as you described.
What I failed to realize is that IDL is a commercial software. Once it is bought and installed, perhaps there will be a IDL_DIR with the appropriate file.
Because of the syntax (mostly) compatibility between the two (IDL & GDL), I was under the impression that the same .py file can be used to link up Jupyter and GDL, with possibly minor modifications, but perhaps I am being too simple-minded about what a Jupyter kernel actually is. I have never seen a gdl_kernel.py, I was hoping one existed somewhere.
I do not know much about python, but since Jupyter is trying to be a language-agnostic tool, which I like very much and would like to use in my teaching, I sort of assumed that a way to link a pipe to an external executable that would receive my text and return a tagged (html?) stream, a mixture of text and svg graphics, would be a matter of adjusting a configuration file, mostly. Isn't this what Jupyter does when the cell magic is set to %%bash, for example?
The instructions for installing a new kernel that I have found out there are universally inadequate. Under RHEL 7, I have access to pip, but not conda. Unfortunately, the simple-minded
pip install gnuplot_kernel
to use an example, I have tried several, not one of them showing up under the list of Jupiter notebook kernels available. However, if I do this instead
pip install --upgrade --no-cache-dir git+https://github.com/has2k1/gnuplot_kernel.git@master
it works as expected! I have not yet discovered the equivalent solutions for other kernels, or how to make my own (to an external executable... see above).
$ pip list | grep kernel
gnuplot-kernel (0.2.3)
ipykernel (4.6.1)
metakernel (0.20.8)
octave-kernel (0.28.1)
scilab-kernel (0.8.1)
yet the Jupiter kernel drop down menu only lists Python, Python 3, and octave. And, after I re-did the installation as above, gnuplot, but no scilab, for example.
My interest is to unite several different legacy tools under one Jupyter "roof", and I want to use multiple kernels in a single notebook, though I am having trouble with that
right now: it seems that it's only possible if the "primary" kernel is python, because in my octave-kernel notebook, the command
%load_ext gnuplot-kernel
does not seem to be working for me, presumably because octave kernel does not have the load_ext functionality, like a python kernel does. Before I start looking into
writing custom kernel interfaces to my other tools, I need to make sure I understand and can make robust the installation process.
The gnuplot trick I found here:
https://github.com/has2k1/gnuplot_kernel/issues/5
together with the expressions of puzzlement of why it was needed, so I am not the only one confused.