has2k1 / gnuplot_kernel

A Jupyter/IPython kernel for gnuplot
BSD 3-Clause "New" or "Revised" License
83 stars 25 forks source link

gnuplot_kernel constantly dies on Anaconda 3 jupyter notebook UI (windows64) #10

Closed michaelprem closed 4 years ago

michaelprem commented 6 years ago

Hi Im new to Jupyter and python. Having used Gnuplot in the past, I thought it was nice to try and integrate it in Jupyter, and installed the kernel. with pip. I have been trying to use it in Anaconda 3 (Python 3.6)

But: I had forgotten I did not have gnuplot on this machine, but the kernel installed anyway. After this I have tried to uninstall, install Gnuplot 5.2, and re-install with pip, and then create a conda environment with gnuplot_kernel and python 3.6. I got no visible kernel in the notebook UI. Then I added a kernel.json (as in https://github.com/has2k1/gnuplot_kernel/issues/5). Then I can start a gnuplot_kernel, but it dies all the time. I suspect that it never finds the gnuplot program, but I cannot find the place where it refers to the gnuplot installation. Can you help?

Regards, Michael

has2k1 commented 6 years ago

Can you run

from jupyter_client.kernelspec import KernelSpecManager
ksm = KernelSpecManager()
ksm.find_kernel_specs()

Make sure gnuplot is listed and check the contents of the kernel.json file in the gnuplot directory.

{"argv": ["/usr/bin/python", "-m", "gnuplot_kernel", "-f", "{connection_file}"], "display_name": "gnuplot", "language": "gnuplot", "name": "gnuplot"}

And confirm that the path to python is correct.

michaelprem commented 6 years ago

from jupyter_client.kernelspec import KernelSpecManager ksm = KernelSpecManager() ksm.find_kernel_specs()

gives: {'gnuplot_kernel': 'c:\anaconda3\share\jupyter\kernels\gnuplot_kernel', 'python3': 'c:\anaconda3\share\jupyter\kernels\python3'}

the links, both here, and in the kernel.json file seem correct. Kernel still dies. I am mailing you the output of the Anaconda propt console. It seems, as I suspected it cannot find gnuplot. Where is gnuplot referenced? thanks Michael

michaelprem commented 6 years ago

Here is some output from the Anaconda console

[I 16:32:48.781 NotebookApp] KernelRestarter: restarting kernel (1/5), keep rand
om ports
Traceback (most recent call last):
  File "C:\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Anaconda3\lib\site-packages\gnuplot_kernel\__main__.py", line 9, in <
module>
    IPKernelApp.launch_instance(kernel_class=GnuplotKernel)
  File "C:\Anaconda3\lib\site-packages\traitlets\config\application.py", line 65
7, in launch_instance
    app.initialize(argv)
  File "<decorator-gen-124>", line 2, in initialize
  File "C:\Anaconda3\lib\site-packages\traitlets\config\application.py", line 87
, in catch_config_error
    return method(app, *args, **kwargs)
  File "C:\Anaconda3\lib\site-packages\ipykernel\kernelapp.py", line 457, in ini
tialize
    self.init_kernel()
  File "C:\Anaconda3\lib\site-packages\ipykernel\kernelapp.py", line 368, in ini
t_kernel
    user_ns=self.user_ns,
  File "C:\Anaconda3\lib\site-packages\traitlets\config\configurable.py", line 4
12, in instance
    inst = cls(*args, **kwargs)
  File "C:\Anaconda3\lib\site-packages\metakernel\process_metakernel.py", line 5
4, in __init__
    self.wrapper = self.makeWrapper()
  File "C:\Anaconda3\lib\site-packages\gnuplot_kernel\kernel.py", line 229, in m
akeWrapper
    raise Exception("gnuplot not found.")
Exception: gnuplot not found.
[I 16:32:54.797 NotebookApp] KernelRestarter: restarting kernel (1/5), keep rand
om ports
Traceback (most recent call last):
  File "C:\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Anaconda3\lib\site-packages\gnuplot_kernel\__main__.py", line 9, in <
module>
    IPKernelApp.launch_instance(kernel_class=GnuplotKernel)
  File "C:\Anaconda3\lib\site-packages\traitlets\config\application.py", line 65
7, in launch_instance
    app.initialize(argv)
  File "<decorator-gen-124>", line 2, in initialize
  File "C:\Anaconda3\lib\site-packages\traitlets\config\application.py", line 87
, in catch_config_error
    return method(app, *args, **kwargs)
  File "C:\Anaconda3\lib\site-packages\ipykernel\kernelapp.py", line 457, in ini
tialize
    self.init_kernel()
  File "C:\Anaconda3\lib\site-packages\ipykernel\kernelapp.py", line 368, in ini
t_kernel
    user_ns=self.user_ns,
  File "C:\Anaconda3\lib\site-packages\traitlets\config\configurable.py", line 4
12, in instance
    inst = cls(*args, **kwargs)
  File "C:\Anaconda3\lib\site-packages\metakernel\process_metakernel.py", line 5
4, in __init__
    self.wrapper = self.makeWrapper()
  File "C:\Anaconda3\lib\site-packages\gnuplot_kernel\kernel.py", line 229, in m
akeWrapper
    raise Exception("gnuplot not found.")
Exception: gnuplot not found.
[I 16:33:00.828 NotebookApp] KernelRestarter: restarting kernel (1/5), keep rand
om ports
Traceback (most recent call last):
  File "C:\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Anaconda3\lib\site-packages\gnuplot_kernel\__main__.py", line 9, in <
module>
    IPKernelApp.launch_instance(kernel_class=GnuplotKernel)
  File "C:\Anaconda3\lib\site-packages\traitlets\config\application.py", line 65
7, in launch_instance
    app.initialize(argv)
  File "<decorator-gen-124>", line 2, in initialize
  File "C:\Anaconda3\lib\site-packages\traitlets\config\application.py", line 87
, in catch_config_error
    return method(app, *args, **kwargs)
  File "C:\Anaconda3\lib\site-packages\ipykernel\kernelapp.py", line 457, in ini
tialize
    self.init_kernel()
  File "C:\Anaconda3\lib\site-packages\ipykernel\kernelapp.py", line 368, in ini
t_kernel
    user_ns=self.user_ns,
  File "C:\Anaconda3\lib\site-packages\traitlets\config\configurable.py", line 4
12, in instance
    inst = cls(*args, **kwargs)
  File "C:\Anaconda3\lib\site-packages\metakernel\process_metakernel.py", line 5
4, in __init__
    self.wrapper = self.makeWrapper()
  File "C:\Anaconda3\lib\site-packages\gnuplot_kernel\kernel.py", line 229, in m
akeWrapper
    raise Exception("gnuplot not found.")
Exception: gnuplot not found.
[I 16:33:06.843 NotebookApp] KernelRestarter: restarting kernel (1/5), keep rand
om ports
Traceback (most recent call last):
  File "C:\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Anaconda3\lib\site-packages\gnuplot_kernel\__main__.py", line 9, in <
module>
    IPKernelApp.launch_instance(kernel_class=GnuplotKernel)
  File "C:\Anaconda3\lib\site-packages\traitlets\config\application.py", line 65
7, in launch_instance
    app.initialize(argv)
  File "<decorator-gen-124>", line 2, in initialize
  File "C:\Anaconda3\lib\site-packages\traitlets\config\application.py", line 87
, in catch_config_error
    return method(app, *args, **kwargs)
  File "C:\Anaconda3\lib\site-packages\ipykernel\kernelapp.py", line 457, in ini
tialize
    self.init_kernel()
  File "C:\Anaconda3\lib\site-packages\ipykernel\kernelapp.py", line 368, in ini
t_kernel
    user_ns=self.user_ns,
  File "C:\Anaconda3\lib\site-packages\traitlets\config\configurable.py", line 4
12, in instance
    inst = cls(*args, **kwargs)
  File "C:\Anaconda3\lib\site-packages\metakernel\process_metakernel.py", line 5
4, in __init__
    self.wrapper = self.makeWrapper()
  File "C:\Anaconda3\lib\site-packages\gnuplot_kernel\kernel.py", line 229, in m
akeWrapper
    raise Exception("gnuplot not found.")
Exception: gnuplot not found.
[I 16:33:12.859 NotebookApp] KernelRestarter: restarting kernel (1/5), keep rand
om ports
Traceback (most recent call last):
  File "C:\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Anaconda3\lib\site-packages\gnuplot_kernel\__main__.py", line 9, in <
module>
    IPKernelApp.launch_instance(kernel_class=GnuplotKernel)
  File "C:\Anaconda3\lib\site-packages\traitlets\config\application.py", line 65
7, in launch_instance
    app.initialize(argv)
  File "<decorator-gen-124>", line 2, in initialize
  File "C:\Anaconda3\lib\site-packages\traitlets\config\application.py", line 87
, in catch_config_error
    return method(app, *args, **kwargs)
  File "C:\Anaconda3\lib\site-packages\ipykernel\kernelapp.py", line 457, in ini
tialize
    self.init_kernel()
  File "C:\Anaconda3\lib\site-packages\ipykernel\kernelapp.py", line 368, in ini
t_kernel
    user_ns=self.user_ns,
  File "C:\Anaconda3\lib\site-packages\traitlets\config\configurable.py", line 4
12, in instance
    inst = cls(*args, **kwargs)
  File "C:\Anaconda3\lib\site-packages\metakernel\process_metakernel.py", line 5
4, in __init__
    self.wrapper = self.makeWrapper()
  File "C:\Anaconda3\lib\site-packages\gnuplot_kernel\kernel.py", line 229, in m
akeWrapper
    raise Exception("gnuplot not found.")
Exception: gnuplot not found.
[I 16:33:18.890 NotebookApp] KernelRestarter: restarting kernel (1/5), keep rand
om ports
Traceback (most recent call last):
  File "C:\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Anaconda3\lib\site-packages\gnuplot_kernel\__main__.py", line 9, in <
module>
    IPKernelApp.launch_instance(kernel_class=GnuplotKernel)
  File "C:\Anaconda3\lib\site-packages\traitlets\config\application.py", line 65
7, in launch_instance
    app.initialize(argv)
  File "<decorator-gen-124>", line 2, in initialize
  File "C:\Anaconda3\lib\site-packages\traitlets\config\application.py", line 87
, in catch_config_error
    return method(app, *args, **kwargs)
  File "C:\Anaconda3\lib\site-packages\ipykernel\kernelapp.py", line 457, in ini
tialize
    self.init_kernel()
  File "C:\Anaconda3\lib\site-packages\ipykernel\kernelapp.py", line 368, in ini
t_kernel
    user_ns=self.user_ns,
  File "C:\Anaconda3\lib\site-packages\traitlets\config\configurable.py", line 4
12, in instance
    inst = cls(*args, **kwargs)
  File "C:\Anaconda3\lib\site-packages\metakernel\process_metakernel.py", line 5
4, in __init__
    self.wrapper = self.makeWrapper()
  File "C:\Anaconda3\lib\site-packages\gnuplot_kernel\kernel.py", line 229, in m
akeWrapper
    raise Exception("gnuplot not found.")
Exception: gnuplot not found.
[I 16:33:24.922 NotebookApp] KernelRestarter: restarting kernel (1/5), keep rand
om ports
Traceback (most recent call last):
  File "C:\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Anaconda3\lib\site-packages\gnuplot_kernel\__main__.py", line 9, in <
module>
    IPKernelApp.launch_instance(kernel_class=GnuplotKernel)
  File "C:\Anaconda3\lib\site-packages\traitlets\config\application.py", line 65
7, in launch_instance
    app.initialize(argv)
  File "<decorator-gen-124>", line 2, in initialize
  File "C:\Anaconda3\lib\site-packages\traitlets\config\application.py", line 87
, in catch_config_error
    return method(app, *args, **kwargs)
  File "C:\Anaconda3\lib\site-packages\ipykernel\kernelapp.py", line 457, in ini
tialize
    self.init_kernel()
  File "C:\Anaconda3\lib\site-packages\ipykernel\kernelapp.py", line 368, in ini
t_kernel
    user_ns=self.user_ns,
  File "C:\Anaconda3\lib\site-packages\traitlets\config\configurable.py", line 4
12, in instance
    inst = cls(*args, **kwargs)
  File "C:\Anaconda3\lib\site-packages\metakernel\process_metakernel.py", line 5
4, in __init__
    self.wrapper = self.makeWrapper()
  File "C:\Anaconda3\lib\site-packages\gnuplot_kernel\kernel.py", line 229, in m
akeWrapper
    raise Exception("gnuplot not found.")
Exception: gnuplot not found.
[I 16:33:30.937 NotebookApp] KernelRestarter: restarting kernel (1/5), keep rand
om ports
Traceback (most recent call last):
  File "C:\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Anaconda3\lib\site-packages\gnuplot_kernel\__main__.py", line 9, in <
module>
    IPKernelApp.launch_instance(kernel_class=GnuplotKernel)
  File "C:\Anaconda3\lib\site-packages\traitlets\config\application.py", line 65
7, in launch_instance
    app.initialize(argv)
  File "<decorator-gen-124>", line 2, in initialize
  File "C:\Anaconda3\lib\site-packages\traitlets\config\application.py", line 87
, in catch_config_error
    return method(app, *args, **kwargs)
  File "C:\Anaconda3\lib\site-packages\ipykernel\kernelapp.py", line 457, in ini
tialize
    self.init_kernel()
  File "C:\Anaconda3\lib\site-packages\ipykernel\kernelapp.py", line 368, in ini
t_kernel
    user_ns=self.user_ns,
  File "C:\Anaconda3\lib\site-packages\traitlets\config\configurable.py", line 4
12, in instance
    inst = cls(*args, **kwargs)
  File "C:\Anaconda3\lib\site-packages\metakernel\process_metakernel.py", line 5
4, in __init__
    self.wrapper = self.makeWrapper()
  File "C:\Anaconda3\lib\site-packages\gnuplot_kernel\kernel.py", line 229, in m
akeWrapper
    raise Exception("gnuplot not found.")
Exception: gnuplot not found.
[I 16:33:36.953 NotebookApp] KernelRestarter: restarting kernel (1/5), keep rand
om ports
Traceback (most recent call last):
  File "C:\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Anaconda3\lib\site-packages\gnuplot_kernel\__main__.py", line 9, in <
module>
    IPKernelApp.launch_instance(kernel_class=GnuplotKernel)
  File "C:\Anaconda3\lib\site-packages\traitlets\config\application.py", line 65
7, in launch_instance
    app.initialize(argv)
  File "<decorator-gen-124>", line 2, in initialize
  File "C:\Anaconda3\lib\site-packages\traitlets\config\application.py", line 87
, in catch_config_error
    return method(app, *args, **kwargs)
  File "C:\Anaconda3\lib\site-packages\ipykernel\kernelapp.py", line 457, in ini
tialize
    self.init_kernel()
  File "C:\Anaconda3\lib\site-packages\ipykernel\kernelapp.py", line 368, in ini
t_kernel
    user_ns=self.user_ns,
  File "C:\Anaconda3\lib\site-packages\traitlets\config\configurable.py", line 4
12, in instance
    inst = cls(*args, **kwargs)
  File "C:\Anaconda3\lib\site-packages\metakernel\process_metakernel.py", line 5
4, in __init__
    self.wrapper = self.makeWrapper()
  File "C:\Anaconda3\lib\site-packages\gnuplot_kernel\kernel.py", line 229, in m
akeWrapper
    raise Exception("gnuplot not found.")
Exception: gnuplot not found.
[I 16:33:43.093 NotebookApp] KernelRestarter: restarting kernel (1/5), keep rand
om ports

From: Hassan Kibirige [mailto:notifications@github.com] Sent: Saturday, January 27, 2018 7:44 PM To: has2k1/gnuplot_kernel gnuplot_kernel@noreply.github.com Cc: Michael Preminger Michael.Preminger@hioa.no; Author author@noreply.github.com Subject: Re: [has2k1/gnuplot_kernel] gnuplot_kernel constantly dies on Anaconda 3 jupyter notebook UI (windows64) (#10)

Can you run from jupyter_client.kernelspec import KernelSpecManager ksm = KernelSpecManager() ksm.find_kernel_specs() Make sure gnuplot is listed and check the contents of the kernel.json file in the gnuplot directory. {"argv": ["/usr/bin/python", "-m", "gnuplot_kernel", "-f", "{connection_file}"], "display_name": "gnuplot", "language": "gnuplot", "name": "gnuplot"} And confirm that the path to python is correct. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

has2k1 commented 6 years ago

The kernel cannot find the gnuplot executable. Make sure gnuplot can be found using $ which gnuplot.

michaelprem commented 6 years ago

Hi and thanks! I had figured out that, and verified that gnuplot is accessible through the path (os.environ[‘PATH’]) My question is if the design of the kernel actually suits windows. Do you know whether it is tested on windows?

Thanks!

From: Hassan Kibirige [mailto:notifications@github.com] Sent: Sunday, January 28, 2018 11:16 PM To: has2k1/gnuplot_kernel gnuplot_kernel@noreply.github.com Cc: Michael Preminger Michael.Preminger@hioa.no; Author author@noreply.github.com Subject: Re: [has2k1/gnuplot_kernel] gnuplot_kernel constantly dies on Anaconda 3 jupyter notebook UI (windows64) (#10)

The kernel cannot find the gnuplot executable. Make sure gnuplot can be found using $ which gnuplot.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/has2k1/gnuplot_kernel/issues/10#issuecomment-361101170, or mute the threadhttps://github.com/notifications/unsubscribe-auth/APYpTGt5Q4FnU3T3w46Tj0uJq07erMwUks5tPPGagaJpZM4RvO5Z.

has2k1 commented 6 years ago

I have not tested it on windows. Can you try

import pexpect

pexpect.which('gnuplot')
...
pexpect.which('some-other-executable(s)')

I think the issue has something to do with the the path settings.