首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Anaconda : ModuleNotFoundError:没有命名为“matlab”的模块

Anaconda : ModuleNotFoundError:没有命名为“matlab”的模块
EN

Stack Overflow用户
提问于 2018-05-23 12:55:32
回答 3查看 2.8K关注 0票数 4

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

有人有建议吗?

提前感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-05-24 12:52:25

经过多次测试,我想我解决了这个问题。如果有人有同样的问题,我会贴出答案。如前所述:https://stackoverflow.com/a/39759581/9834571可以添加另一个python命令。对我来说,当我将上述示例更改如下时,它起了作用:

代码语言:javascript
复制
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
票数 0
EN

Stack Overflow用户

发布于 2019-10-25 14:30:19

如果要在conda环境中安装matlab引擎,请执行以下步骤:

代码语言:javascript
复制
cd "matlabroot\extern\engines\python"
python setup.py install --prefix="installdir"

例如

代码语言:javascript
复制
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正在使用的站点包文件夹。如果您有多个虚拟env,则将其移动到将运行程序的虚拟env的相应网站包文件夹中。Eg anaconda3/envs/my_env/lob/python3.6/site-packages/matlab

参考文献:

https://stackoverflow.com/a/41800724/3337089

https://stackoverflow.com/a/56553740/3337089

编辑1(03-2020年3月-2020年):

我试着激活我的环境,然后简单地安装matlab引擎,它成功了!我用的是Python 3.7

代码语言:javascript
复制
python setup.py install

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

票数 2
EN

Stack Overflow用户

发布于 2019-11-20 11:45:22

按照Nagabhushan S N answer,here,为了安装带有conda (miniconda3)和Matlab2018的matlab/matlab.engine,我执行了以下步骤。

我已经用Python3.6解释器创建了一个新的conda环境(python36),Python3.6是到2018年为止支持的版本之一(您需要匹配正确的Pyhton版本,否则它将安装Python2.7libs),我已经在python36 env子文件夹中直接安装了python36env子文件夹中的libs:

代码语言:javascript
复制
cd /usr/local/MATLAB/R2018a/extern/engines/python
python setup.py install --prefix="/home/myname/miniconda3/envs/python36"

例如,import matlab.engine现在可以从python36环境中使用。

P.s:安装需要对构建子文件夹进行写访问(在usr/.下),所以您需要使用sudo和chmod -R +777 /usr/local/MATLAB/R2018a/extern/engines/python/build

P.s.2:只在基本env中安装,在我的例子中,不提供matlab.engine来与其他conda env一起工作。也许这是一种正常的,预期的,conda行为。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50488997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档