如何将matlab融入jupyter笔记本?

2024-10-01 13:36:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试集成MATLAB和jupyter笔记本,以便在基于web的笔记本和实验室中使用MATLAB。我正在运行MATLAB R2020a,python 3.6(来自conda 4.8.2);这台计算机的操作系统是Ubuntu 18.04。我得到一个错误,说MATLAB引擎没有安装,虽然据我所知,它已经安装

我已执行了以下步骤: 1.我用python 3.6 conda create matlab-conda python=3.6创建了一个conda环境。 2.在那里,我通过键入pip install matlab-kernel,使用pip安装了matlab_内核。 3.如果我通过键入jupyter kernelspec list检查内核是否已安装,并查看列表,它会显示: 可用内核:

ir /home/computerone/.local/share/jupyter/kernels/ir

matlab
/home/computerone/miniconda3/envs/matlab-conda/share/jupyter/kernels/matlab

python3
/home/computerone/miniconda3/envs/matlab-conda/share/jupyter/kernels/python3

  1. 为了配置MATLAB,我找到了extern/engines/python文件夹,并从conda env内部运行了安装程序:python setup.py install。此操作已成功运行

当我打开juyter笔记本或实验室时,MATLAB笔记本选项就在那里,我可以选择它,显示一个笔记本;但是,当我打开MATLABnotebook并键入命令(例如,2+5)时,会引发以下错误:

[MetaKernelApp] ERROR | Exception in message handler:
Traceback (most recent call last):
  File "/home/computerone/miniconda3/envs/matlab-conda/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 268, in dispatch_shell
    yield gen.maybe_future(handler(stream, idents, msg))
  File "/home/computerone/miniconda3/envs/matlab-conda/lib/python3.6/site-packages/tornado/gen.py", line 735, in run
    value = future.result()
  File "/home/computerone/miniconda3/envs/matlab-conda/lib/python3.6/site-packages/tornado/gen.py", line 209, in wrapper
    yielded = next(result)
  File "/home/computerone/miniconda3/envs/matlab-conda/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 541, in execute_request
    user_expressions, allow_stdin,
  File "/home/computerone/miniconda3/envs/matlab-conda/lib/python3.6/site-packages/metakernel/_metakernel.py", line 395, in do_execute
    retval = self.do_execute_direct(code)
  File "/home/computerone/miniconda3/envs/matlab-conda/lib/python3.6/site-packages/matlab_kernel/kernel.py", line 99, in do_execute_direct
    retval = self._execute_async(code)
  File "/home/computerone/miniconda3/envs/matlab-conda/lib/python3.6/site-packages/matlab_kernel/kernel.py", line 257, in _execute_async
    future = self._matlab.eval(code, **kwargs)
  File "/home/computerone/miniconda3/envs/matlab-conda/lib/python3.6/site-packages/matlab_kernel/kernel.py", line 81, in _matlab
    """)
ImportError: 
        Matlab engine not installed:
        See https://www.mathworks.com/help/matlab/matlab-engine-for-python.htm

Tags: inpyhomelibpackageslinesitekernel