Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

pyenv

Python 인터프리터의 디폴트 환경 변경

R2019b 이후

설명

pyenv를 사용하여 Python® 인터프리터의 디폴트 버전 또는 실행 모드를 변경합니다. 변경 사항은 여러 MATLAB® 세션 간에 보존됩니다.

py 패키지(예: py.list)를 사용하여 MATLAB에서 Python 명령문을 입력하면 MATLAB이 Python 인터프리터를 선택하여 불러옵니다. 인터프리터를 변경하려면 다음을 수행하십시오.

  • 단일 MATLAB 세션에서 Python을 InProcess ExecutionMode로 불러온 경우 MATLAB을 다시 시작하고 새로운 버전 정보로 pyenv를 실행합니다.

  • Python을 OutOfProcess 모드로 불러온 경우 terminate를 호출하고 새로운 버전 정보로 pyenv를 실행합니다.

MATLAB은 Python 인터프리터를 불러올 때 다음 설정에 엑세스합니다.

  • pyenv 함수를 사용하여 구성한 Python 환경에 대한 사용자 설정. 지정한 버전이 PYTHONHOME에서 지정한 버전과 충돌하는 경우, pyenv를 호출하기 전에 환경 변수를 삭제하십시오. pyenv에 의해 설정된 값은 MATLAB 세션 간에 지속적으로 유지됩니다. 자세한 내용은 Windows 플랫폼에서 Python 버전 설정하기 또는 Mac과 Linux 플랫폼에서 Python 버전 설정하기 항목을 참조하십시오.

  • PYTHONHOME 환경 변수. 이 환경 변수는 표준 Python 라이브러리를 찾을 수 있는 위치를 지정합니다. MATLAB에서 변수 값을 보려면, getenv("PYTHONHOME")을 입력하십시오. 자세한 내용은 PYTHONHOME 환경 변수 사용하기 항목을 참조하십시오.

  • 시스템 PATH 환경 변수. MATLAB의 시스템 경로를 확인하려면 getenv("PATH")를 입력하십시오.

  • Windows® 레지스트리

예제

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 플랫폼만 해당) 또는 실행 파일 이름으로, string형 또는 문자형 벡터로 지정됩니다. 지원되는 버전에 대한 자세한 내용은 Python을 사용하도록 시스템 구성하기 항목을 참조하십시오.

  • Version이 하나의 숫자를 지정하는 경우, 값은 주 버전 번호와 부 버전 번호를 쉼표로 구분하여 포함해야 합니다. 이 함수는 Windows 레지스트리에서 버전을 찾습니다. Python 응용 프로그램을 www.python.org/downloads에서 다운로드한 경우, 설치에서 자동으로 레지스트리에 버전을 추가합니다. 다른 소스에서 응용 프로그램을 다운로드한 경우, 레지스트리에 버전을 추가하거나, pyenv 함수를 실행 파일 이름과 함께 호출하여 버전을 변경해야 합니다.

  • Version이 기존 Python 실행 파일의 이름인 경우 이 값은 파일 이름과 파일의 전체 경로 또는 상대 경로를 포함해야 합니다. 이 구문은 모든 플랫폼에서 또는 리패키징된 CPython 구현 다운로드에 사용할 수 있습니다.

예: pyenv(Version="3.10")

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

데이터형: char | string

Python 스크립트를 MATLAB과 동일한 프로세스에서 실행할지 여부를 나타내는 실행 모드로, 'InProcess' 또는 'OutOfProcess'로 지정됩니다. 디폴트 값 'InProcess'는 스크립트를 MATLAB 프로세스에서 실행합니다. 성능이 중요한 사용 사례에는 이 모드를 사용하십시오.

'OutOfProcess'는 별도의 프로세스를 시작하며, Python 스크립트 및 라이브러리의 안전한 실행을 위해 사용됩니다. 다음과 같은 경우에 'OutOfProcess'를 선택하십시오.

  • MATLAB에서 필요한 타사 라이브러리가 있는데 Python 라이브러리에서는 해당 라이브러리의 다른 버전이 요구되는 경우.

  • 디버깅 워크플로인 경우.

Python 함수를 별도의 프로세스(out-of-process)로 호출할 경우 호출에 수반되는 오버헤드가 발생합니다. 이 동작은 성능에 영향을 줄 수 있습니다.

데이터형: char | string

버전 내역

R2019b에 개발됨