首页 > 解决方案 > Anaconda Python:ModuleNotFoundError:没有名为“matlab”的模块

问题描述

我是 Python 和 Linux 的新手,想为 Python 3.6 安装 MATLAB 引擎。我已经按照 Mathworks 的步骤(http://www.mathworks.com/help/matlab/matlab-engine-for-python.html)并尝试使用python setup.py build --build-base=$(mktemp -d) install,但错误仍然出现。我安装了 MATLAB R2018a 并将 Spyder 3.2.8 与 Anaconda 一起使用。

有人有建议吗?

提前致谢!

标签: pythonmatlabanaconda

解决方案


如果您尝试在 conda 环境中安装 matlab 引擎,请按照以下步骤操作:

cd "matlabroot\extern\engines\python"
python setup.py install --prefix="installdir"

例如

cd /opt/MATLAB/R2019a/extern/engines/python
python setup.py install --prefix="/home/nagabhushan/anaconda3/"

现在,matlab 引擎包实际上是安装在单独的 anaconda3/lib/python3.6/site-package/matlab
所以你需要手动将该 matlab 文件夹移动到你的 python 正在使用的 site-package 文件夹中。如果您有多个虚拟环境,请将其移动到您将运行程序的虚拟环境的相应站点包文件夹中。例如 anaconda3/envs/my_env/lob/python3.6/site-packages/matlab

参考资料:
https ://stackoverflow.com/a/41800724/3337089
https://stackoverflow.com/a/56553740/3337089

编辑 1(2020 年 3 月 3 日):
我尝试激活我的环境,然后简单地安装 matlab 引擎,它就成功了!我在用着Python 3.7

python setup.py install

请注意,这最初给出了错误error: You do not have write permission in build/lib/matlab/engine/,但是以递归方式更改构建目录的权限:sudo chmod -R 777 build/


推荐阅读