安装并配置 Python 以在 MATLAB 中使用
R2026b要从 MATLAB® 中调用 Python®,您必须在您的系统上安装受支持的参考实现 (CPython) 版本。您还必须配置您的 Python 环境以与 MATLAB 配合使用。
检查现有 Python 安装
如果您已安装 Python,请在 MATLAB 产品(按版本)兼容的 Python 版本中检查 MATLAB 是否支持您的 Python 版本。
您现有的 Python 安装还必须满足以下特定于平台的要求:
Windows® - 已安装 64 位版本的 Python。不支持 32 位版本。
Windows - Python 不是从 Microsoft® Store 安装的。
Linux® 和 Mac - 如果您是从源代码编译 Python,则已使用
--enable-shared选项配置编译。有关详细信息,请参阅 Python 文档中的配置 Python。Mac - 您的 MATLAB 和 Python 安装具有相同的架构(Apple 芯片或 Intel® 处理器)。有关详细信息,请参阅如何在使用 Apple 芯片的 Mac 上从 MATLAB 使用 Python。
安装 Python
如果您的系统上未安装受支持的 Python 版本,您可以从 MATLAB 中的“附加功能”面板或从 python.org 安装。
从 MATLAB 的“附加功能”面板安装 Python
自 R2026b 起
要从 MATLAB 中的“附加功能”面板安装 Python,请按照以下步骤进行操作:
通过点击桌面左边栏上的“附加功能”图标 ,打开“附加功能”面板。如果“附加功能”图标未出现,请点击“打开更多面板”按钮
并选择“附加功能”面板。搜索文本 MATLAB Support for Python。
选择要安装的 Python 版本对应的附加功能。
点击安装按钮。
您现在可以使用 pyenv 或“外部语言”面板选择此已安装的 Python 版本作为您的 Python 环境。有关详细信息,请参阅Manage Python Environments Using External Languages Panel。
从 python.org 安装 Python
要从 python.org 安装 Python,请按照以下步骤进行操作:
转至
https://www.python.org/downloads/并滚动到 Looking for a specific release(查找特定版本)部分。找到您需要的版本,然后点击 Download(下载)。有关支持的版本信息,请参阅 MATLAB 产品(按版本)兼容的 Python 版本。
点击要安装的格式,然后按照在线说明进行操作。
在 Windows 上,选择 64 位格式。
在 Linux 和 Mac 上,如果从源代码编译 Python 可执行文件,请使用
--enable-shared选项配置编译。有关更多详细信息,请参阅 Python 文档中的配置 Python。
配置 MATLAB 以使用 Python 环境
您可以配置 MATLAB 以使用基础环境(系统范围的 Python 安装)或虚拟环境(隔离的、特定于工程的 Python 包文件夹)。如果您还没有虚拟环境,可以使用“外部语言”面板从基础环境创建一个虚拟环境(请参阅Manage Python Environments Using External Languages Panel)。或者,要以编程方式创建一个虚拟环境,请参阅 MATLAB 文章使用 MATLAB 的 Python 虚拟环境和 Python 教程虚拟环境和包。
要设置您的 Python 环境,请使用“外部语言”面板、pyenv 函数或 PYTHONHOME 环境变量。
使用“外部语言”面板选择 Python 环境
自 R2026a 起
配置 MATLAB 以使用 Python 的最简单方法是使用“外部语言”面板选择基础环境或虚拟环境。
要打开“外部语言”面板中的 Python 视图,请点击任一边栏上的“打开更多面板”按钮
,然后点击 外部语言。然后从面板左上角的语言列表中选择 Python选项。通过右键点击所有 Python 环境部分中的某个环境,并选择设置为选定环境,选择您首选的基础或虚拟 Python 环境。
选定环境会显示在“外部语言”面板的选定 Python 环境部分中。
有关详细信息,请参阅Manage Python Environments Using External Languages Panel。
在 Windows 上设置 Python 版本
如果您使用标准安装程序安装了 Python,则 Python 会注册在 Windows 注册表中。使用 pyenv 的 Version 名称-值来设置要使用的 Python 版本。例如:
pyenv(Version="3.13");如果您执行的是非标准安装,例如在没有运行安装程序的情况下将 Python 文件复制到计算机,请使用基础环境或虚拟环境的 Python 可执行文件路径设置 Python 版本。例如:
pyenv(Version="C:\Users\username\AppData\Local\Programs\Python\Python313\python.exe");
pyenv 返回 PythonEnvironment 对象,其中包含有关当前 Python 环境的信息。
PythonEnvironment with properties:
Version: "3.13"
Executable: "C:\Users\username\AppData\Local\Programs\Python\Python313\python.exe"
Library: "C:\Users\username\AppData\Local\Programs\Python\Python313\python313.dll"
Home: "C:\Users\username\AppData\Local\Programs\Python\Python313"
Status: NotLoaded
ExecutionMode: InProcess
在 Mac 和 Linux 上设置 Python 版本
要在 Mac 和 Linux 上设置要使用的 Python 版本,请使用 pyenv 的 Version 名称-值来指定基础环境或虚拟环境的 Python 可执行文件的完整路径。例如:
pyenv(Version="/usr/bin/python3.13")pyenv 返回 PythonEnvironment 对象,其中包含有关当前 Python 环境的信息。
PythonEnvironment with properties:
Version: "3.13"
Executable: "/usr/bin/python3"
Library: "libpython3.13.so.1.0"
Home: "/usr"
Status: NotLoaded
ExecutionMode: InProcess使用 PYTHONHOME 环境变量
尽可能使用“外部语言”面板或 pyenv 来设置 Python 版本。在该面板或 pyenv 不可用的情况下,例如在运行 MATLAB App 时,设置版本的另一种方法是使用 PYTHONHOME 环境变量。如果用 pyenv 和 PYTHONHOME 设置版本,则版本必须相同。
要查看环境变量的值,请在 MATLAB 命令提示符下输入
getenv("PYTHONHOME")。要查看由pyenv设置的版本,请输入e = pyenv; e.Version要设置
PYTHONHOME,请参阅https://docs.python.org/3/using/cmdline.html#envvar-PYTHONHOME。有关设置环境变量的信息,请参考您的操作系统文档。您也可以使用setenv设置该变量。但是,此设置仅应用于当前 MATLAB 会话。要删除当前 MATLAB 会话的
PYTHONHOME,请输入unsetenv("PYTHONHOME")。
更改执行模式(可选)
在您选择 Python 环境后,MATLAB 不会立即加载 Python 解释器。加载会在您首次在 MATLAB 中调用 Python 函数时发生。在首次调用之前,您可以选择更改 Python 的执行模式。您可以在与 MATLAB 相同的进程中(InProcess 模式)或在单独进程中(OutOfProcess 模式)执行 Python。
默认情况下,Python 在
InProcess模式下运行。此执行模式具有性能优势,建议用于运行现有 Python 代码。如果您正在积极开发 Python 代码,请将执行模式设置为
OutOfProcess。此模式可保护您的 MATLAB 会话免受不稳定代码崩溃的影响,并允许您使用 Ctrl+C 键中断长时间运行的 Python 代码。另外,如果您需要使用与 MATLAB 冲突的第三方库,请使用OutOfProcess模式。
要设置执行模式,请在“外部语言”面板中点击“设置”按钮 ,然后选择 OutOfProcess。或者,在 MATLAB 命令提示符下输入 pyenv(ExecutionMode="OutOfProcess")。有关详细信息,请参阅Python 功能的进程外执行。
确认 Python 可与 MATLAB 配合使用
要确认 Python 可与 MATLAB 配合使用,请在 MATLAB 中输入 Python 表达式以加载 Python 解释器。例如:
py.list
ans =
Python list with values:
[]
Use string, double, datetime or cell function to convert to a MATLAB array.如果您收到错误消息 Unable to resolve the name py.,其中 myfunc 是函数名称,则可能存在安装问题。有关故障排除方面的帮助,请参阅无法解析名称 py.myfunc。myfunc
MATLAB 在加载 Python 解释器时访问以下设置:
使用
pyenv函数配置的 Python 环境的用户设置。如果您指定的版本与PYTHONHOME环境变量指定的版本冲突,请在调用pyenv之前清除该环境变量。要清除该环境变量,请在 MATLAB 命令提示符下输入unsetenv("PYTHONHOME")。由pyenv设置的值会在 MATLAB 会话之间保持不变。有关详细信息,请参阅 在 Windows 上设置 Python 版本 或 在 Mac 和 Linux 上设置 Python 版本。PYTHONHOME环境变量,指定在何处查找标准 Python 库。MATLAB 仅在pyenv.Status的值为NotLoaded时使用此变量。要查看 MATLAB 中变量的值,请输入getenv("PYTHONHOME")。有关详细信息,请参阅使用 PYTHONHOME 环境变量。系统
PATH环境变量。要查看 MATLAB 中的系统路径,请输入getenv("PATH")。Windows 注册表。
切换 Python 环境
您可以通过“外部语言”面板或调用 pyenv 来更改 MATLAB 使用的 Python 环境。更改 Python 环境的过程取决于执行模式。
如果 Python 以
InProcess模式加载,请先重新启动 MATLAB。然后,使用“外部语言”面板或pyenv更改 Python 环境。如果 Python 以
OutOfProcess模式加载,请先通过调用terminate(pyenv)终止 Python 进程。然后,使用“外部语言”面板或pyenv更改 Python 环境。
要从“外部语言”面板中删除旧的 Python 环境,请右键点击所有 Python 环境列表中的该环境,然后选择删除环境。删除环境不会将其从系统中删除。您可以稍后重新添加它。您无法以这种方式删除从 MATLAB Support for Python 附加功能安装的环境。要删除该环境,请从“附加功能”面板卸载支持包,然后使用“刷新”按钮刷新“外部语言”面板。