0
我真的不知道我的问题的根源是什么(是否Jupyter笔记本,MATLAB,matlab_kernel或pymatbridge),所以我想我只是张贴的问题在这里与所有的标签。Jupyter Matlab的核心JSON错误
我从远程服务器(Ubuntu的14.04)运行MATLAB内核Jupyter笔记本。为了设置MATLAB内核,我按照these的说明安装了pymatbridge和matlab_kernel。好像本身运行就好了(测试了几个简单的MATLAB命令输出和错误消息打印为预期)MATLAB的内核,当我在Jupyter笔记本调用它不是MATLAB本身工作正常,但是当我尝试运行另一通过
addpath('/path/to/function')
y = function(x)
我收到以下错误MATLAB功能的笔记本:
[MetaKernelApp] ERROR | Exception in message handler:
Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-packages/ipykernel/kernelbase.py", line 228, in dispatch_shell
handler(stream, idents, msg)
File "/usr/local/lib/python3.4/dist-packages/ipykernel/kernelbase.py", line 391, in execute_request
user_expressions, allow_stdin)
File "/usr/local/lib/python3.4/dist-packages/metakernel/_metakernel.py", line 358, in do_execute
retval = self.do_execute_direct(code)
File "/usr/local/lib/python3.4/dist-packages/matlab_kernel/kernel.py", line 127, in do_execute_direct
resp = self._matlab.run_code(code.strip())
File "/usr/local/lib/python3.4/dist-packages/matlab_kernel/kernel.py", line 52, in run_code
return self._engine.run_code(code)
File "/usr/local/lib/python3.4/dist-packages/pymatbridge/pymatbridge.py", line 319, in run_code
return self.run_func('evalin', 'base', code, nargout=0)
File "/usr/local/lib/python3.4/dist-packages/pymatbridge/pymatbridge.py", line 309, in run_func
nargout=nargout)
File "/usr/local/lib/python3.4/dist-packages/pymatbridge/pymatbridge.py", line 272, in _json_response
return json.loads(self._response(**kwargs), object_hook=decode_pymat)
File "/usr/lib/python3.4/json/__init__.py", line 331, in loads
return cls(**kw).decode(s)
File "/usr/lib/python3.4/json/decoder.py", line 343, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.4/json/decoder.py", line 361, in raw_decode
raise ValueError(errmsg("Expecting value", s, err.value)) from None
ValueError: Expecting value: line 1 column 9007 (char 9006)
任何想法可能会导致这个错误,而究竟是什么错误的手段?
哦拍,'添加路径'在我原来的问题只是一个错字;它已被更新。我想要说的是,我可以在任何通过MATLAB的接口或通过终端MATLAB MATLAB命令行直接做同样的呼叫,并且两个路径添加和函数调用做工精细。只有通过Jupyter笔记本内核才会引发错误。 – itf