Anaconda Python:ModuleNotFoundError:找不到'matlab'模块

4
我刚接触Python和Linux,想要安装MATLAB Engine for Python 3.6。我已经按照Mathworks的步骤(http://www.mathworks.com/help/matlab/matlab-engine-for-python.html)进行了操作,并尝试使用python setup.py build --build-base=$(mktemp -d) install,但仍然出现错误。我已经安装了MATLAB R2018a,并使用Anaconda中的Spyder 3.2.8。请问有人能提供建议吗?谢谢!
3个回答

3
如果您正在尝试在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文件夹中。如果您有多个虚拟环境,请将其移动到您将运行程序的虚拟环境的相应site-package文件夹中。 例如: anaconda3/envs/my_env/lob/python3.6/site-packages/matlab 参考文献: https://dev59.com/mZvga4cB1Zd3GeqPwBHB#41800724 https://dev59.com/mZvga4cB1Zd3GeqPwBHB#56553740 Edit 1 (2020年3月3日): 我尝试激活我的环境,然后直接安装Matlab引擎,它可以工作!我正在使用Python 3.7
python setup.py install

请注意,最初会出现错误:error: You do not have write permission in build/lib/matlab/engine/,但是递归更改build目录的权限可以解决问题:sudo chmod -R 777 build/

1

根据Nagabhushan S N的回答这里,为了在Linux Ubuntu 18 LTS和Matlab 2018上使用conda(miniconda3)安装matlab/matlab.engine,我执行了以下步骤。

我创建了一个新的conda环境(python36),其中包含Python 3.6解释器。Python 3.6是Matlab 2018支持的版本之一(如果你不匹配正确的Python版本,它将安装Python 2.7库)。我直接在python36env子文件夹中安装了库。

cd /usr/local/MATLAB/R2018a/extern/engines/python
python setup.py install --prefix="/home/myname/miniconda3/envs/python36"

例如,现在可以从python36环境中使用import matlab.engine。
P.s:安装需要对build子文件夹(位于usr/local...下)具有写访问权限,因此您需要使用sudo和chmod -R +777 /usr/local/MATLAB/R2018a/extern/engines/python/build命令。
P.s.2:仅在基本环境中安装,在我的情况下,不能使matlab.engine与其他conda环境一起工作。也许这是正常的、预期的conda行为。

0
经过多次测试,我认为我解决了这个问题。如果有人遇到同样的问题,我会发布答案。如此提到: https://dev59.com/mZvga4cB1Zd3GeqPwBHB#39759581 您可以添加替代的Python命令。对我来说,当我按照以下方式改变所提到的示例时,它起作用:
sudo update-alternatives --install /usr/bin/python python ~/anaconda3/envs/ 2
update-alternatives --display python
cd /usr/local/MATLAB/R2018a/extern/engines/python/
python setup.py build --build-base=$(mktemp -d) install

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接