python - 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 一起使用。
有人有建议吗?
提前致谢!
解决方案
如果您尝试在 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/
推荐阅读
- javascript - 将数组转换为键值对象
- python - 如何枚举列表中的值,然后在函数中求和?
- gradle - 运行配置
- c# - 以名称响应的 C# Writeline
- java - 使用 ssh 密钥和密码进行克隆不起作用?
- python - 列表列表上的 Python random.shuffle() 返回相同列表的列表
- c# - 二元分类模型不准确
- if-statement - 如何将 If 语句转换为三元运算符表达式
- javascript - 如何从 CONNECT 平台内部编程调用中获取输出?
- java - 如何为 RESTeasy Multipart Provider 创建 Jandex 索引