matlab_kernel
matlab_kernel copied to clipboard
Use Matlab Kernel in the JupyterHub Docker Container
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.
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.