我正在写我的硕士论文。我的导演用的是MatLab,我用的是Python。所以我需要在Python上运行他的MatLab脚本。关于这个主题有很多问题。
我试图安装用于Python的MATLAB引擎API(https://es.mathworks.com/help/matlab/matlab_external/install-the-matlab-engine-for-python.html)。我遇到了以下问题:Error: MATLAB Engine for Python supports Python version 2.7, 3.7, 3.8, and 3.9, but your version of Python is 3.10
我有哪些选择?
我还有一个疑问:我通过以下方式检查了我的Python版本python3 --version
我得到的输出是:Python3.9.7。那我就不明白这是什么错误了。
郑重声明,我使用的是Ubuntu和Anaconda。
2条答案
按热度按时间o2g1uqev1#
最后,我让它工作起来。以下是方法:
如何安装适用于Python的matlab引擎API。
简单回答:
长长的答案:
1.您需要正确安装MatLab(我将跳过这一步)
1.找到matlab根目录(其中安装了您的MatLab)。在Matlab的命令窗口中,键入:
ANS就是“你的草根”。在我的例子中,是:‘/usr/local/matlab/R2022a’
1.打开终端,输入:
只需记住将‘matLabroot’更改为‘Your matLabroot’(即步骤2中的输出)。
1.运行
setup.py
。2种方式:4.1可以试试:(不适合我,但在Install MATLAB Engine API for Python中推荐
4.2如果您收到以下错误:
尝试使用
sudo
运行它:(我把‘python’改成了‘python3’)
那么您可能会得到版本错误。大概是这样的:
您可以使用
python -V
检查您的Python您有可能安装了多个版本的Python。您必须确保使用指向所需
python.exe
的直接路径,而不是快捷方式python3
。1.让我们开始吧。你可以在终端上打字
这给了python3所在的位置以帮助。(例如,我得到/home/用户名/anaconda3/bin/python3)
转到目录
/home/user_name/anaconda3/bin
(我们省略了python3,因为它指的是符号链接,而不是目录)在那里我们应该看到(键入
ls
)一个名为python3
的符号链接(青色中的单词我们可以通过以下方式find the original file of a symbolic link:
机会很高,它在同一个目录中(如果不是,就去那里)。我们需要搜索与您的MatLab版本兼容的Python版本。您可以通过
OSError
或Versions of Python Compatible with MATLAB Products by Releas知道这一点在同一目录中再次输入
ls
,然后搜索与您的MatLab(绿色单词)兼容的Python。在我的例子中,我找到了python3.9
,它可以在我的MatLab版本中使用。现在,您已经找到了兼容版本的Python,重复步骤3。运行
setup.py
,但这次使用我们刚刚找到的新的Python方向更改python3
。在我的例子中,如下所示:所有这些对我来说都奏效了。祝好运!
铜
mwngjboj2#
要在Ubuntu/Debian上安装
matlab.engine
for python3.9并将其配置为conda环境,请使用以下步骤:1.在命令行上激活您的Conda环境
$ conda activate <your_amazing_conda_env>
1.然后,安装MatLab内核
$ pip install matlab-kernel
1.切换到matlab安装目录
$ cd /usr/local/MATLAB/R2022a/extern/engines/python
1.通过直接指向您的Python环境所在的位置来安装matLab.Engine。例如
$ sudo "/home/mario/anaconda3/envs/chamois/bin/python" setup.py install
请注意,在最后一步中,您需要管理员权限。
如果安装成功,您将获得类似以下内容的堆栈跟踪:
之后,您可以通过在Python终端中导入matLab.Engine来测试安装的工作情况。