首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows7x64上从Python3.x调用Matlab2013

在Windows7x64上从Python3.x调用Matlab2013
EN

Stack Overflow用户
提问于 2014-04-01 10:28:02
回答 1查看 1.1K关注 0票数 2

任务:在Windows7(全是x64)上使用Python3.x调用Matlab2013b中的函数。

问:是否有一个Python包允许我这样做?

我已经试过了

  • 面膜
  • [医]脓

但所有这些都不适用于上面给出的配置。

请提供有关使用Python3.x的工作配置的任何信息。

如果您需要更详细的信息,请告诉我。

更新:我目前正尝试使用Matlab2011b和Pyhton2.7,因为这些版本似乎是最常用的版本。目前,我被困在以下几个方面:

我可以毫无问题地导入模块,但是一旦启动会话,就会弹出Matlab窗口,其他任何事情都不会发生。Python窗口显示:

代码语言:javascript
复制
Starting MATLAB on ZMQ socket tcp://127.0.0.1:55555
Send 'exit' command to kill the server
............................................................Matlab session timed
 out after 60 seconds
MATLAB failed to start
Press any key to continue . . .

这种情况每一次都会发生,不会出现错误。

面膜我试着安装mlabwrap 使用本指南。在输入'python setup.py install‘时,会弹出一个Matlab窗口,然后再一次什么也不会发生。如果关闭命令窗口,Python输出将显示:

代码语言:javascript
复制
WINDOWS SPECIFIC ISSUE? Unable to remove c:\users\martin\appdata\local\temp\tmp1
y2kdk; please delete it manually
[Error 32] Der Prozess kann nicht auf die Datei zugreifen, da sie von einem ande
ren Prozess verwendet wird: 'c:\\users\\martin\\appdata\\local\\temp\\tmp1y2kdk'


INSTALL ABORT: 'matlab -nodesktop -nosplash -wait -r "fid = fopen(\'c:\\users\\m
artin\\appdata\\local\\temp\\tmp1y2kdk\', \'wt\');fprintf(fid, \'%s%c%s%c%s%c\',
 version, 10, matlabroot, 10, computer, 10);fclose(fid); quit"' RETURNED ERROR C
ODE -805306369
PLEASE MAKE SURE matlab IS IN YOUR PATH!

我的%Path%看起来像这样(只有重要的部分;):

代码语言:javascript
复制
D:\MATLAB\R2011b\bin;C:\Program Files\ZeroMQ 4.0.4\lib;D:\Python27;D:\Python27\scripts;D:\MATLAB\R2011b\runtime\win64;D:\MATLAB\R2011b\extern\lib\win64\microsoft;D:\MATLAB\R2011b\bin\win64

任何帮助,以获得任何连接之间的Matlab和Python在Windows上是非常感谢的!我真的不明白为什么这一切都不起作用.

Update2:我现在可以安装标签包装了,但是我不能启动它。当我试图导入mlabwrap时,Matlab窗口会在一分钟后打开并关闭。Python输出是:

代码语言:javascript
复制
>>> import mlabwrap
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "D:\Python27\lib\site-packages\mlabwrap.py", line 645, in <module>
    mlab = MlabWrap()
  File "D:\Python27\lib\site-packages\mlabwrap.py", line 405, in __init__
    self._session = mlabraw.open(os.getenv("MLABRAW_CMD_STR", ""))
mlabraw.error: Unable to start MATLAB(TM) engine

我再次检查了Matlab中的engdemo是否有效。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-15 09:21:49

现在我使用让它工作了。我用手把它转换成Python3,更改已经合并到正式的回购中,所以现在它应该可以用在盒子里了。

如果您收到“信使init”无法找到的错误,请确保Lib\site-packages\pymatbridge\matlab在您的PATH中。

如果您有任何问题或其他信息,可以随意评论这个答案,我将添加它以帮助用户开始使用python桥。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22783174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档