Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

pyenv

更改 Python 解释器的默认环境

自 R2019b 起

说明

使用 pyenv 更改 Python® 解释器的默认版本或执行模式。这些更改在不同 MATLAB® 会话中持久保留。

注意

当您键入 py.command 时,MATLAB 会自动加载 Python。在 MATLAB 加载 Python 后,您无法更改解释器。要更改解释器,请重新启动 MATLAB,然后调用 pyenv

示例

pyenv 显示有关当前(默认)Python 环境的详细信息。

示例

pyenv(Name,Value) 指定用于设置 Python 环境的参数。例如,pyenv(Version="3.10") 将 Microsoft® Windows® 平台上的默认 Python 版本更改为 3.10。

pe = pyenv(___) 还以 PythonEnvironment 对象形式返回环境详细信息。请将此语法与上述语法中的任何参数结合使用。

示例

全部折叠

pe = pyenv;
pe.Version
ans = 

    "3.10"

将执行模式设置为 OutOfProcess

pyenv(ExecutionMode="OutOfProcess")
ans = 

  PythonEnvironment with properties:

          Version: "3.10"
       Executable: "C:\Python310\pythonw.exe"
          Library: "C:\Python310\python310.dll"
             Home: "C:\Python310"
           Status: NotLoaded
    ExecutionMode: OutOfProcess

创建变量。

py.list({"Monday","Tuesday","Wednesday","Thursday","Friday"});

显示进程。MATLAB 显示特定于您的环境的信息。

pyenv
ans = 

  PythonEnvironment with properties:

          Version: "3.10"
       Executable: "C:\Python310\pythonw.exe"
          Library: "C:\Python310\python310.dll"
             Home: "C:\Python310"
           Status: Loaded
    ExecutionMode: OutOfProcess
        ProcessID: "9768"
      ProcessName: "MATLABPyHost"
pe = pyenv;
if pe.Status == "Loaded" && pe.Version ~= "3.10"
    disp('To change the Python version, restart MATLAB, then call pyenv(Version="3.10").')
else
    pyenv(Version="3.10");
end

要验证系统上是否安装了 Python,请检查 PythonEnvironment Version 属性。

pe = pyenv;
if pe.Version == ""
    disp "Python not installed"
end

输入参数

全部折叠

名称-值参数

将可选的参数对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参数名称,Value 是对应的值。名称-值参数必须出现在其他参数之后,但参数对组的顺序无关紧要。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: pe = pyenv(Version="/usr/bin/python",ExecutionMode="OutOfProcess")

Python 版本号(仅限 Windows 平台)或可执行文件名,指定为字符串或字符向量。有关受支持版本的信息,请参阅配置您的系统使用 Python

  • 如果 Version 指定数字,则该值必须包含使用句点分隔的主要版本号和次要版本号。该函数在 Windows 注册表中查找版本。如果从 www.python.org/downloads 下载 Python 应用程序,则安装过程中会自动将该版本添加到注册表。如果您从不同来源下载应用程序,则必须将版本添加到注册表中,或使用可执行文件名调用 pyenv 来更改版本。

  • 如果 Version 是现有 Python 可执行文件的名称,则值必须包含该文件的名称以及该文件的完整或相对路径。此语法可用在任何平台上或用于重新打包的 CPython 实现下载。

示例: pyenv(Version="3.10")

示例: pyenv(Version="/usr/bin/python")

数据类型: char | string

执行模式,它指示是否在与 MATLAB 相同的进程中运行 Python 脚本;指定为 'InProcess''OutOfProcess'。默认的 'InProcess' 在 MATLAB 进程中运行脚本。此模式适用于性能关键的使用情形。

'OutOfProcess' 会另外启动一个单独的进程,用于安全执行 Python 脚本和库。在以下情况下,选择 'OutOfProcess'

  • 使用的 Python 库和 MATLAB 都需要使用第三方库,但要求的第三方库的版本不同。

  • 调试工作流。

当您在进程外调用 Python 函数时,会产生与该调用相关联的开销。此行为可能会影响性能。

数据类型: char | string

版本历史记录

在 R2019b 中推出