Contenido principal

pyenv

Cambiar el entorno predeterminado del intérprete de Python

Descripción

Utilice pyenv para cambiar la versión o el modo de ejecución predeterminados del intérprete de Python®. Estos cambios son permanentes en diferentes sesiones de MATLAB®.

MATLAB selecciona y carga un intérprete de Python cuando escribe una expresión de Python desde MATLAB utilizando el espacio de nombres py, por ejemplo, py.list. Para cambiar el intérprete:

  • Si Python está cargado en InProcess ExecutionMode, reinicie MATLAB y llame a pyenv con la información de la nueva versión o el modo de ejecución.

  • Si Python está cargado en modo OutOfProcess, termine el proceso asociado con el intérprete de Python llamando a terminate antes de llamar a pyenv con la información de la nueva versión o el modo de ejecución.

MATLAB accede a esta configuración cuando carga el intérprete de Python:

  • Configuración de usuario para el entorno de Python, configurada mediante la función pyenv. Si la versión que especifica entra en conflicto con la versión especificada por PYTHONHOME, elimine la variable de entorno antes de llamar a pyenv. El valor establecido por pyenv es persistente en las sesiones de MATLAB. Para obtener más información, consulte Establecer la versión de Python en la plataforma Windows o Establecer la versión de Python en plataformas Mac y Linux.

  • La variable de entorno PYTHONHOME especifica dónde encontrar las bibliotecas Python estándar si el valor de pyenv.Status es NotLoaded. Para ver el valor de la variable en MATLAB, escriba getenv("PYTHONHOME"). Para obtener más información, consulte Utilizar una variable de entorno PYTHONHOME.

  • Variable de entorno PATH del sistema. Para ver la ruta del sistema en MATLAB, escriba getenv("PATH").

  • Registro de Windows®.

pyenv muestra detalles sobre el entorno de Python (predeterminado) actual.

ejemplo

pyenv(Name=Value) especifica parámetros para establecer el entorno de Python. Por ejemplo, pyenv(Version="3.10") cambia la versión de Python predeterminada de las plataformas Microsoft® Windows a la versión 3.10.

ejemplo

pe = pyenv(___) devuelve, adicionalmente, detalles del entorno como un objeto PythonEnvironment.

Ejemplos

contraer todo

pe = pyenv;
pe.Version
ans = 

    "3.10"

Establezca el modo de ejecución en 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

Cree la variable.

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

Muestre el proceso. MATLAB muestra información específica del entorno.

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

Para verificar que Python está instalado en el sistema, compruebe la propiedad Version de PythonEnvironment.

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

Argumentos de par nombre-valor

contraer todo

Especifique pares opcionales de argumentos como Name1=Value1,...,NameN=ValueN, donde Name es el nombre del argumento y Value es el valor correspondiente. Los argumentos nombre-valor deben aparecer después de otros argumentos, pero el orden de los pares no importa.

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

El número de versión de Python (solo en plataformas Windows) o el nombre de archivo del ejecutable, especificados como escalar de cadena o vector de caracteres. Para obtener información sobre las versiones compatibles, consulte Configurar su sistema para utilizar Python.

  • Si Version especifica un número de versión, el valor debe contener el número de versión mayor y el menor separados por un punto. La función busca la versión en el registro de Windows. Si descarga la aplicación de Python desde www.python.org/downloads, la instalación añade automáticamente la versión al registro. Si descarga la aplicación desde una fuente diferente, debe añadir la versión al registro o llamar a pyenv con el nombre de archivo del ejecutable para cambiar la versión.

  • Si Version es el nombre de un archivo ejecutable de Python existente, el valor debe contener el nombre del archivo y la ruta completa o relativa al archivo. Puede usar esta sintaxis en cualquier plataforma o para descargas de implementación de CPython reacondicionadas.

Ejemplo: pyenv(Version="3.10")

Ejemplo: pyenv(Version="/usr/bin/python")

Modo de ejecución que indica si ejecutar scripts de Python en el mismo proceso que MATLAB, especificado como "InProcess" o "OutOfProcess". El valor predeterminado "InProcess" ejecuta los scripts del proceso de MATLAB. Utilice este modo para casos de uso en los que el rendimiento es importante.

"OutOfProcess" comienza un proceso aparte y se usa para una ejecución segura de scripts y bibliotecas de Python. Seleccione "OutOfProcess" para:

  • Trabajar con bibliotecas de Python que requieran una versión diferente de una biblioteca de terceros que MATLAB también requiere.

  • Depurar flujos de trabajo.

Cuando se llama a una función de Python fuera de proceso, se produce un procesamiento adicional asociado a la llamada. Es posible que este comportamiento afecte al rendimiento.

Tipos de datos: char | string

Historial de versiones

Introducido en R2019b