关于pymatbridge

时间:2014-04-13 09:55:12

标签: python matlab sockets ubuntu

我正在学习如何从python脚本执行Matlab代码(.m文件)。所以我安装了pymatbridge,但我无法成功。我正在使用Ubuntu 12.04,Matlab版本2013和python 2.7.3。

我已点击链接http://arokem.github.io/python-matlab-bridge/ 并粘贴下面的命令,但得到一个错误说意外的关键字参数'host'。

  
    
      

来自pymatbridge导入Matlab
      MLAB = Matlab的()
       mlab = Matlab(matlab ='/ usr / local / MATLAB / R2013a / bin / matlab',host ='192.168.0.1',port = 5151)
      Traceback(最近一次调用最后一次):         文件“”,第1行,in       TypeError: init ()得到一个意外的关键字参数'host'

    
  

所以我已将命令更改为

  
    
      

MLAB = Matlab的(MATLAB = '的/ usr /本地/ MATLAB / R2013a / bin中/ MATLAB')
      mlab.start()

      在ZMQ socket ipc:/// tmp / pymatbridge上启动MATLAB       发送'exit'命令终止服务器
      追溯(最近的呼叫最后):
        文件“”,第1行,在中         文件“/usr/local/lib/python2.7/dist-packages/pymatbridge/pymatbridge.py”,第135行,开始时
          if(self.is_connected()):
        文件“/usr/local/lib/python2.7/dist-packages/pymatbridge/pymatbridge.py”,第168行,in_connected
          resp = self.socket.recv_string(flags = zmq.NOBLOCK)
        在zmq.core.socket.Socket中输入“socket.pyx”,第456行。 getattr (zmq / core / socket.c:4576)
      AttributeError:Socket没有这样的选项:RECV_STRING

                        < M A T L A B (R) >
              Copyright 1984-2013 The MathWorks, Inc.
                R2013a (8.1.0.604) 64-bit (glnxa64)
                         February 15, 2013
             

要开始使用,请键入以下内容之一:helpwin,helpdesk或demo。       有关产品信息,请访问www.mathworks.com。

      无效的MEX文件
      '/usr/local/lib/python2.7/dist-packages/pymatbridge/matlab/messenger.mexa64':       libzmq.so.3:无法打开共享对象文件:没有这样的文件或目录

      matlabserver出错(第7行)
      messenger('init',socket_address);

    
  

请帮助我解决这个问题,因为我是编程新手,也不熟悉ubuntu。

此致 戈库尔。

1 个答案:

答案 0 :(得分:2)

出于某种原因,http://arokem.github.io/python-matlab-bridge/上的文档与存储库上的主分支已过时,并且与发布版本0.2相​​关。这里的文档:https://github.com/arokem/python-matlab-bridge是与当前开发版本相关的文档。

至于你的问题,我认为你需要在你的机器上获得libzmq。在ubuntu上通过在终端执行以下命令来完成:

sudo apt-get install libzmq-dev