配置您的系统使用 Python
Python 支持
要在 MATLAB® 中调用 Python® 模块,您必须在您的系统上安装受支持的参考实现 (CPython) 版本。安装一个发行版,例如 https://www.python.org/downloads/ 上提供的发行版。MATLAB 不支持从 Microsoft® 商店安装的 CPython 版本。有关支持的版本信息,请参阅 MATLAB 产品(按版本)兼容的 Python 版本。
如果您使用的是 Windows® 平台,则需要安装一个发行版(如果尚未安装)。有关详细信息,请参阅安装支持的 Python 实现。
如果您在 Linux® 平台上,您可能已安装 Python。调用
pyenv
以验证您是否安装了受支持的版本。有关下载信息,请参阅安装支持的 Python 实现。如果您使用的是 Mac 平台,请验证 MATLAB 和 Python 版本是否与您的架构(Apple 芯片或 Intel® 处理器)一致。有关详细信息,请参阅如何在使用 Apple 芯片的 Mac 上从 MATLAB 使用 Python。
当您使用 py
命名空间从 MATLAB 键入 Python 表达式时,MATLAB 会选择并加载一个 Python 解释器,例如 py.list
。要更改解释器,请执行以下操作:
如果在
InProcess
ExecutionMode
中加载了 Python,则重新启动 MATLAB 并使用新版本信息运行pyenv
。如果在
OutOfProcess
模式下加载 Python,则调用terminate
并使用新版本信息运行pyenv
。
MATLAB 在加载 Python 解释器时访问以下设置:
使用
pyenv
函数配置的 Python 环境的用户设置。如果您指定的版本与PYTHONHOME
指定的版本冲突,则在调用pyenv
之前删除环境变量。由pyenv
设置的值可跨 MATLAB 会话而保持不变。有关详细信息,请参阅 在 Windows 平台上设置 Python 版本 或 在 Mac 和 Linux 平台上设置 Python 版本。PYTHONHOME
环境变量,指定如果pyenv.Status
的值为NotLoaded
,在哪里可以找到标准 Python 库。要查看 MATLAB 中变量的值,请键入getenv("PYTHONHOME")
。有关详细信息,请参阅使用 PYTHONHOME 环境变量。系统
PATH
环境变量。要查看 MATLAB 中的系统路径,请键入getenv("PATH")
。Windows 注册表。
要验证您的系统上是否安装了 Python,请从系统提示符下打开 Python 解释器,并调用 Python 函数。
要确定使用的是哪个版本的 MATLAB,请调用 pyenv
。例如,在 Windows 上:
pe = pyenv
pe = PythonEnvironment with properties: Version: "3.10" Executable: "C:\Users\username\AppData\Local\Programs\Python\Python310\pythonw.exe" Library: "C:\Users\username\AppData\Local\Programs\Python\Python310\python310.dll" Home: "C:\Users\username\AppData\Local\Programs\Python\Python310" Status: NotLoaded ExecutionMode: InProcess
在 Linux 上:
pe = pyenv
pe = PythonEnvironment with properties: Version: "3.9" Executable: "/usr/bin/python3" Library: "libpython3.9.so.1.0" Home: "/usr" Status: NotLoaded ExecutionMode: InProcess
安装支持的 Python 实现
访问 https://www.python.org/downloads/ 并滚动到 Looking for a specific release(查找特定版本)部分。
找到您需要的版本,然后点击 Download(下载)。有关支持的版本信息,请参阅 MATLAB 产品(按版本)兼容的 Python 版本。
点击 64 位版本所需的格式,然后按照在线说明进行操作。
如果您收到错误消息 无法解析名称 py.myfunc,则可能存在安装问题。
在虚拟环境中安装 Python
您可以使用 Python venv
模块为特定版本的 Python 创建虚拟环境。您还可以在虚拟环境中安装 MATLAB Engine API for Python。有关 venv
的说明,请参阅 MATLAB Answers™ 文章使用 Python 接口的 Python 虚拟环境。有关虚拟 Python 环境的信息,请参阅 Python 教程虚拟环境和包。
在 Windows 平台上设置 Python 版本
在 Windows 平台上,使用以下任一方式:
pyenv(Version="version")
或
pyenv(Version="executable")
其中 executable
是 Python 可执行文件的完整路径。有关详细信息,请参阅 pyenv
的 Version
名称-值参量。例如,键入:
pyenv(Version="3.11");
注意
如果您下载了一个 Python 解释器,但未将其注册到 Windows 注册表中,请使用:
pyenv(Version="executable")
例如,键入:
pyenv(Version="C:\Users\username\AppData\Local\Programs\Python\Python311\python.exe");
在 Windows 平台上下载 Python 的 64 位版本
Python 的架构必须与 MATLAB 的架构匹配。有关详细信息,请参阅安装支持的 Python 实现。
在 Mac 和 Linux 平台上设置 Python 版本
要设置版本,请键入:
pyenv(Version="executable")
其中 executable
是 Python 可执行文件的完整路径。有关详细信息,请参阅 pyenv
的 Version
名称-值参量。例如,键入:
pyenv(Version="/usr/bin/python3.11")
编译 Python 可执行文件的要求
在 Linux 和 Mac 系统上,如果您要编译 Python 可执行文件,请使用 --enable-shared
选项对编译进行配置。
使用 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 版本。当您使用 py
命名空间从 MATLAB 键入 Python 语句时,MATLAB 会加载一个 Python 解释器,例如 py.sys.path
。要更改解释器,请执行以下操作:
如果在单一 MATLAB 会话中的
InProcess
ExecutionMode
中加载了 Python,则重新启动 MATLAB 并使用新版本信息运行pyenv
。如果在
OutOfProcess
模式下加载 Python,则调用terminate
并使用新版本信息运行pyenv
。