2013-11-29 33 views
0

Я преподаю немного программирования в python, а также в Matlab. И мне нужно запустить несколько функций, которые я написал в python с помощью matlab.Запуск MATLAB от Python

Я выполнил основные инструкции по установке для pymatlab и python (x, y). Когда я пытаюсь создать сеанс MATLAB с помощью следующего кода:

import pymatlab 
session = pymatlab.session_factory() 

Я получаю следующее сообщение об ошибке:

Exception AttributeError: "'MatlabSession' object has no attribute 'engine'" in <bound method MatlabSession.__del__ of <pymatlab.matlab.MatlabSession object at 0x03654AF0>> ignored 

Traceback (most recent call last): 
    File "<pyshell#1>", line 1, in <module> 
    session = pymatlab.session_factory() 
    File "C:\Python27\lib\site-packages\pymatlab\sessionfactory.py", line 51, in session_factory 
    session = MatlabSession(path=basedir,bufsize=output_buffer_size) 
TypeError: __init__() got an unexpected keyword argument 'path' 

Помогите пожалуйста!

+1

Это похоже на проблему совместимости. Какая ML-версия, какая версия python и какая ОС? – Daniel

+0

Даниэль, спасибо за быстрый ответ - я как-то пропустил его! К сожалению, я запускаю 64-битную версию Windows, но 32-разрядные версии MATLAB, Python, numpy и pymatlab. Я считаю, что официально поддерживаемые версии numpy 32bit .. – user3050521

ответ

2

Это необходимость исправления ошибок в платформе Windows. Вы можете открыть файл "C: \ python27 \ Lib \ сайт-пакеты \ pymatlab \ sessionfactory.py" и найдите строку 51, удалить префикс аргумент "путь ="

MatlabSession(path=basedir,bufsize=output_buffer_size) 

Изменение в

MatlabSession(basedir,bufsize=output_buffer_size) 

Тогда вы можете наслаждаться своим питомником.

+0

в последней версии, вы можете использовать этот патч http://sourceforge.net/p/pymatlab/tickets/2/ (пока патч не находится в релизе) – lib

Смежные вопросы