Main Content

配置您的系统使用 Python

Python 支持

要在 MATLAB® 中调用 Python® 模块,您必须在您的系统上安装受支持的参考实现 (CPython) 版本。安装一个发行版,例如 https://www.python.org/downloads/ 上提供的发行版。MATLAB 不支持从 Microsoft® 商店安装的 CPython 版本。有关支持的版本信息,请参阅 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 实现

如果您收到错误消息 无法解析名称 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 可执行文件的完整路径。有关详细信息,请参阅 pyenvVersion 名称-值参量。例如,键入:

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 实现

MacLinux 平台上设置 Python 版本

要设置版本,请键入:

pyenv(Version="executable")

其中 executable 是 Python 可执行文件的完整路径。有关详细信息,请参阅 pyenvVersion 名称-值参量。例如,键入:

pyenv(Version="/usr/bin/python3.11")

编译 Python 可执行文件的要求

在 Linux 和 Mac 系统上,如果您要编译 Python 可执行文件,请使用 --enable-shared 选项对编译进行配置。

使用 PYTHONHOME 环境变量

尽可能使用 pyenv 设置 Python 解释器。在 pyenv 不可用的情况下(例如,当运行 MATLAB App 时),设置解释器的另一种方法是使用 PYTHONHOME 环境变量。如果用 pyenvPYTHONHOME 设置版本,则版本必须相同。

  • 要查看 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

另请参阅

相关主题

外部网站