【问题标题】:AttributeError: module 'matlab' has no attribute 'engine'AttributeError:模块“matlab”没有属性“引擎”
【发布时间】:2019-07-27 01:52:12
【问题描述】:

我正在从 python 运行 matlab 引擎,它在导入 matlab.engine 的行上给出错误,说没有名为“matlab.engine”的模块,并且 matlab 不是一个包。但是当我尝试只导入 matlab 时,它给了我一个错误,说 AttributeError: module 'matlab' has no attribute 'engine'。

我已经在 python 上安装了 matlab,以及引擎/python 所在的 matlab 根文件夹中的引擎。我正在使用 python 版本 3.6 和 matlab 2018,我在这里没有看到兼容性问题。我不确定还能尝试什么。

import matlab
from numpy import *
import sys
if __name__ == '__main__':
    print(sys.maxsize > 2 ** 32)
    eng = matlab.engine.connect_matlab()
    names = matlab.engine.find_matlab()
    print(names)

    eng = matlab.engine.start_matlab()
    A = matlab.double([[1,2],[5,6]])
    print(type(A),A.size,A)
    print(eng.eig(A))
    eng.quit()
    pass

【问题讨论】:

    标签: python-3.x matlab matlab-engine


    【解决方案1】:

    试试

    import matlab.engine
    

    而不是

    import matlab
    

    【讨论】:

    • 对不起,如果我没有说清楚,但我确实尝试过导入 matlab.engine,它返回的错误是没有名为“matlab.engine”的模块,并且“matlab " 不是一个包。
    • 我通过更改这一行来运行您的代码,它使用与您相同的 Python 和 Matlab 版本运行。您是否有机会使用 Anaconda?
    • 我用的是pycharm,通过pycharm安装了matlab包。我已确保引擎在 matlab 中运行,但在 python 中无法识别
    • 我同时拥有 python 3.6 和 3.7,但我在环境路径的顶部添加了 3.6v,并将 python setup.exe 安装为 3.6。我按照说明进行操作,变量中的某些包或路径会干扰 matlab 引擎吗?
    • 你看过这个帖子吗? mathworks.com/matlabcentral/answers/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-14
    • 2019-02-18
    • 1970-01-01
    • 2020-01-01
    • 2019-07-20
    相关资源
    最近更新 更多