How to solve error during Python Matlab integration using pymatlab?
14 ビュー (過去 30 日間)
I am trying to call the matlab code written using python. After importing pymatlab, the next command session=pymatlab.session_factory() throws an error saying in line 51 an unexpected keyword argument "path" is encountered. I checked for online solutions where they asked me to change line 51 which was
session = MatlabSession(path=basedir,bufsize=output_buffer_size)
session = MatlabSession(basedir,bufsize=output_buffer_size)
Even after doing this I am receiving the same error. Can anyone help me with this? least suggest another method for python matlab integration?
回答 (2 件)
wei du 2016 年 6 月 4 日
編集済み: wei du 2016 年 6 月 4 日
I'm using Matlab R2012a 32Bit on Windows 10. I tried pymatlab and it works after some modification in matlab.py.
1. I set matlab_root to "C:\Program Files (x86)\MATLAB\R2012a" when I call pymatlab.MatlabSession.
2. I found out I have to change matlab directory to the dll_path of matlab to make sure the engine can be opened correctly. So I add codes below in pymatlab-0.2.3-py2.7.egg\pymatlab\matlab.py. After that, I can change the directory back.
3. If you want to use "session_factory", be careful of the path detected in "session_factory", it will be passed to "matlab.py" and you need to make sure libeng.dll and libmx.dll can be found in the path of "matlab.py".
dll_path = join(matlab_root, 'bin', 'win32')
self.engine = CDLL('libeng.dll')
self.mx = CDLL('libmx.dll')