matlab_kernel icon indicating copy to clipboard operation
matlab_kernel copied to clipboard

Use Matlab Kernel in the JupyterHub Docker Container

Open arunoruto opened this issue 6 years ago • 1 comments

Hello, I am quite new to jupyter and managed to install a standalone jupyter notebook container with the matlab kernel. But since multiple users need to have access to the kernel, I thought it would be a good idea to run the kernel on jupyterhub in a container with ldap support. Sadly, the same method of installing the kernel didn't work in the hub container and neither did any otdher kernel (R, Node, etc.) for testing. I would like to know how it is possible to achieve this. The error I am getting is:

Traceback (most recent call last):
  File "/opt/conda/lib/python3.6/site-packages/matlab_kernel/kernel.py", line 81, in _matlab
    self.__matlab = matlab.engine.start_matlab()
  File "/opt/conda/lib/python3.6/site-packages/matlab/engine/__init__.py", line 117, in start_matlab
    eng = future.result()
  File "/opt/conda/lib/python3.6/site-packages/matlab/engine/futureresult.py", line 67, in result
    return self.__future.result(timeout)
  File "/opt/conda/lib/python3.6/site-packages/matlab/engine/matlabfuture.py", line 87, in result
    handle = pythonengine.getMATLAB(self._future)
matlab.engine.EngineError: Transport stopped.

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/opt/conda/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 268, in dispatch_shell
    yield gen.maybe_future(handler(stream, idents, msg))
  File "/opt/conda/lib/python3.6/site-packages/tornado/gen.py", line 735, in run
    value = future.result()
  File "/opt/conda/lib/python3.6/site-packages/tornado/gen.py", line 209, in wrapper
    yielded = next(result)
  File "/opt/conda/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 541, in execute_request
    user_expressions, allow_stdin,
  File "/opt/conda/lib/python3.6/site-packages/metakernel/_metakernel.py", line 395, in do_execute
    retval = self.do_execute_direct(code)
  File "/opt/conda/lib/python3.6/site-packages/matlab_kernel/kernel.py", line 97, in do_execute_direct
    retval = self._execute_async(code)
  File "/opt/conda/lib/python3.6/site-packages/matlab_kernel/kernel.py", line 255, in _execute_async
    future = self._matlab.eval(code, **kwargs)
  File "/opt/conda/lib/python3.6/site-packages/matlab_kernel/kernel.py", line 83, in _matlab
    self.__matlab = matlab.engine.connect_matlab()
  File "/opt/conda/lib/python3.6/site-packages/matlab/engine/__init__.py", line 177, in connect_matlab
    eng = future.result()
  File "/opt/conda/lib/python3.6/site-packages/matlab/engine/futureresult.py", line 67, in result
    return self.__future.result(timeout)
  File "/opt/conda/lib/python3.6/site-packages/matlab/engine/matlabfuture.py", line 87, in result
    handle = pythonengine.getMATLAB(self._future)
matlab.engine.EngineError: Transport stopped.

arunoruto avatar Nov 03 '19 22:11 arunoruto

Hi @SoulEater45, I'm not sure what would cause this. I think it would help for you to expand on https://github.com/jupyterhub/jupyterhub/issues/2804 about how it isn't working with several kernels and the fact that you are using ldap.

blink1073 avatar Nov 04 '19 19:11 blink1073