参考文章:
安装用于 Python 的 MATLAB Engine API - MATLAB & Simulink
一、前置检查:Python 与 MATLAB 版本兼容性
1.1 确认 Python 版本(核心要求)
- 必须使用64 位 Python,可通过以下代码验证:
import sys
print(sys.maxsize > 2**32)
- 需匹配 MATLAB 官方兼容的 Python 版本(参考 MATLAB 官网版本兼容表)。
MATLAB 产品(按版本)兼容的 Python 版本 - MATLAB & Simulink
二、安装引擎 MATLAB Engine API for Python
2.1 安装指令适配规则(核心分界)
| MATLAB 版本 | 配置文件支持 | 推荐安装指令 | 适用场景说明 |
|---|---|---|---|
| R2023a 及更新 | 含 pyproject.toml/setup.cfg | python -m pip install .(官网推荐) |
标准 pip 包管理,支持卸载 / 升级、虚拟环境安装 |
| R2022b 及更早 | 仅含 setup.py | 修改版本号后可支持pip install . |
无现代 pip 配置,需适配版本号格式 |
补充说明:
- 多 Python 版本 / 虚拟环境场景:需指定具体 Python 路径,如
D:\appc\Anaconda3\envs\pytorch1\python.exe -m pip install . - 卸载 / 升级:R2023a + 可执行
pip uninstall matlabengine;R2022b 及更早需手动删除安装目录。
2.2 关键适配:修改 setup.py 版本号(R2022b 及更早必做)
2.2.1 版本号对应表(纯数字格式,适配 Python packaging 库)
| MATLAB 版本 | 对应纯数字版本号 | 备注 |
|---|---|---|
| R2025a | 25.1.0 | 原生支持pip install . |
| R2024b | 24.2.0 | 原生支持pip install . |
| R2024a | 24.1.0 | 原生支持pip install . |
| R2023b | 23.2.0 | 原生支持pip install .(补充 pyproject.toml) |
| R2023a | 23.1.0 | 首个支持pip install .的版本(核心分界点) |
| R2022b | 22.2.0 | 需改版本号才能用pip install . |
| R2022a | 22.1.0 | 同上 |
| R2021b | 21.2.0 | 同上 |
| R2021a | 9.10.0 | 适配关键(非 21.1.0,需注意!) |
| R2020b | 9.9.0 | 同上 |
| R2020a | 9.8.0 | 同上 |
| R2019b | 9.7.0 | 同上 |
| R2019a | 9.6.0 | 同上 |
| R2018b | 9.5.0 | 同上 |
| R2018a | 9.4.0 | 同上 |
2.2.2 修改步骤(以 R2021a 为例)
- 定位文件路径:
D:\appd\Matlab\MATLABR2021a\extern\engines\python\setup.py; - 打开文件,找到版本号定义行:
VERSION = 'R2021a'; - 替换为纯数字版本号:
VERSION = '9.10.0'; - 保存文件(若提示只读,右键文件→属性→取消 "只读")。

2.2.3 修改原因
MATLAB 版本命名(如 R2021a)含字母,而 Python packaging库强制要求版本号为「X.Y.Z」纯数字格式,高版本setuptools无法兼容非标准格式;修改版本号可直接绕过格式校验,比降级setuptools更稳定(避免环境依赖冲突)。
2.3 具体安装方法
先确定Python 可执行文件路径
conda info --envs

envs 的 Python 可执行文件路径 = 环境路径 + \python.exe,即:D:\appc\Anaconda3\envs\pytorch1\python.exe。
下面开始安装引擎
方法 1:从 MATLAB 内安装(Windows)
cd (fullfile(matlabroot,"extern","engines","python"))
% R2022b及更早(老版本,需先改版本号)
system("D:\appc\Anaconda3\envs\pytorch1\python.exe -m pip install .")
方法 2:从操作系统终端安装
-
确认 MATLAB 安装路径:在 MATLAB 命令行执行
matlabroot,输出如C:\Program Files\MATLAB\R2021a(Windows)cd "matlabroot\extern\engines\python"
D:\appc\Anaconda3\envs\pytorch1\python.exe -m pip install .
方法 3:从 Python Package Index 安装
直接通过 pip 安装(需匹配 MATLAB 版本),安装后引擎会编译并安装到默认位置。
使用上述三种安装方法任意一种,则 MATLAB 引擎将编译并安装到默认位置
方法 4:非默认文件夹安装
- 用
setup.py安装:python setup.py install --prefix=自定义路径; - 用 Python Package Index 安装:指定
--target参数自定义路径。
方法 5:虚拟环境安装(推荐)
# 激活虚拟环境
conda activate pytorch1
# 切换到Engine目录后执行
python -m pip install .
2.4 安装成功验证
Python 端验证
import matlab.engine
eng = matlab.engine.start_matlab()
eng.version() # 输出MATLAB版本号,如'9.15.0'(R2023b)
eng.quit()
MATLAB 端验证
% 1. 关联pytorch1环境的Python(重启MATLAB后第一时间执行)
pyversion("D:\appc\Anaconda3\envs\pytorch1\python.exe");
% 2. 测试Python调用
try
py.importlib.import_module('matlab.engine');
disp('✅ MATLAB中可正常加载Python的matlab.engine模块');
catch ME
error('❌ 加载失败:%s', ME.message);
end
三、启动 MATLAB 引擎(Python 端)
import matlab.engine
# 启动引擎(核心操作)
eng = matlab.engine.start_matlab()
# 后续可调用MATLAB/Simulink功能,示例:
# eng.cd("Simulink模型路径", nargout=0) # 切换到模型目录
# eng.sim("模型名", nargout=0) # 运行Simulink仿真
# 用完后关闭引擎
eng.quit()