2017-02-11 70 views
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) 

任何想法可能会导致这个错误,而究竟是什么错误的手段?

回答

0

也许它返回None,因为在你的命令是错误的? add pathaddpath

addpath('/path/to/function') 
+0

哦拍,'添加路径'在我原来的问题只是一个错字;它已被更新。我想要说的是,我可以在任何通过MATLAB的接口或通过终端MATLAB MATLAB命令行直接做同样的呼叫,并且两个路径添加和函数调用做工精细。只有通过Jupyter笔记本内核才会引发错误。 – itf