Main Content

Python 지원의 제한 사항

MATLAB®에서 지원되지 않는 기능

MATLAB을 현재 프로세스 내(in-process) 실행 모드로 실행하던 도중 Python® 인터프리터 닫기.

Python 객체를 MAT 파일에 저장하기(직렬화).

pyargs를 통해 생성된 Python 객체 또는 키워드 인수를 키 인수로 MATLAB dictionary 함수에 전달하기 또는 입력값으로 keyMatch 함수에 전달하기.

대화형 방식의 Python 도움말(입력 인수 없이 py.help 호출).

Python 클래스의 정적 속성에 액세스하기.

MATLAB isa 함수는 가상 상속을 인식하지 않습니다.

Python 클래스에서 MATLAB 클래스 상속.

사용자 지정된(동적) 특성 액세스.

중첩 Python 클래스.

별도의 프로세스에서 MATLAB을 시작하는 모듈(예: multiprocessing 모듈).

Python 스크립트에 전달된 명령줄 인수인 sys.argv를 읽어 들이는 모듈(예: Tkinter).

동적으로 생성된 Python 클래스.

새 객체 특성을 동적으로 연결하기. 대신, py.setattr을 사용하십시오.

밑줄(_) 문자로 시작하는 클래스 이름 또는 다른 식별자. 대신 Python py.getattrpy.setattr 함수를 사용하십시오.

MATLAB Compiler SDK™ 제품에서 생성된 Python 모듈.

macOS 플랫폼에서 사용자 인터페이스에 대해 Cocoa(AppKit)를 사용하는 Python 코드.

Python 함수를 별도 프로세스(out-of-process)로 호출하는 경우 Python과 MATLAB 간에 전달되는 변수의 크기는 2GB로 제한됩니다. 이 크기 제한은 데이터뿐 아니라 프로세스 간에 전달되는 추가 정보에도 적용됩니다.

pyrunpyrunfile 함수의 제한 사항

pyrun 또는 pyrunfile을 사용하여 정의된 Python 클래스의 인스턴스를 MATLAB으로 반환하면 정의된 클래스를 수정할 수 없습니다. 클래스 정의를 변경해야 하는 경우 다음과 같이 인터프리터 세션을 재시작하십시오.

terminate(pyenv)
pyenv(ExecutionMode="OutOfProcess")

또는 "InProcess" 모드로 MATLAB을 재시작하십시오.

pyrun 함수와 pyrunfile 함수는 메서드를 통해 다른 지역 변수에 의해 초기화되는 지역 변수를 사용하는 클래스를 지원하지 않습니다. 이렇게 사용하려면 py. 접두사를 사용하여 모듈을 만들어 액세스하십시오.

지원되지 않는 MATLAB 유형

다음 MATLAB 유형은 Python에서 지원되지 않습니다.

  • 다차원 char 배열 또는 cell 배열

  • 희소 배열

  • struct 배열

  • categorical

  • containers.Map 유형

  • MATLAB 객체

  • matlab.metadata.Class (py.class)

관련 항목