使用Python运行Matlab会出现“没有名为matlab.engine的模块”错误

时间:2017-09-10 14:08:45

标签: python matlab

我正在尝试使用Python运行Matlab代码。我试图按照Mathworks page给出的说明进行操作。

尝试通过Python导入Matlab时,使用showInvisibles: true 进行安装。

但是,导入fprintf(stderr, "%d\n", i); 会出现错误pip install matlab。它也无法使用matlab.engine进行安装。

如何让代码运行?我正在运行的Python代码如下:

No module named 'matlab.engine'; 'matlab' is not a package

Python版本 - 3.5

Matlab版本 - 8.5.0.197613(R2015a)

3 个答案:

答案 0 :(得分:1)

您需要安装适用于Python的Matlab Engine,并且无法使用pip进行安装。请尝试列出here列出的说明。我在下面简要列出了说明:

  1. 确保您的PATH中有Python。
  2. 找到Matlab根文件夹。您可以使用Matlab中的call('clear')命令 来查找它。
  3. 转到命令行中的Matlab根文件夹。
  4. matlabroot(在Windows中)
  5. cd "matlabroot\extern\engines\python"

答案 1 :(得分:1)

我被困在这个问题上太久了,我找不到一个很好的解释,所以你们都去吧。有一个名为 matlab here

的 python 包

它与python的matlab引擎无关。当您 pip install matlab 时,它正在安装它。我正在使用 pycharm,这是它安装的默认值。我卸载了这个 matlab,而是将必要的信息复制到了我的 python 项目中。

为此,我找到了名为 Matlab 的文件夹,该文件夹在您在 matlabroot/extern/engines/python 中运行 python setup.py install 时复制到 AppData 中的某个位置,并将其复制到我的 Python 项目的 venv 中的 lib 文件夹中我正在使用 pycharm 的虚拟环境解释器。

答案 2 :(得分:0)

pip install matlab会为您提供this,其中会安装

模块
from numpy import *
from pylab import *

内部。我很确定这不是你想要的......

我猜你试过为Python导入Matlab Compiler Runtime。这必须与Mathworks的相应软件一起安装,但它并没有通过Python包索引/ pip来实现。查看说明on their site