2013-10-16 2 views
0

저는 Python3 인터프리터를 Cocoa 앱에 임베드하고 있습니다. 내 응용 프로그램은 여러 개의 분리 된 Python 실행 컨텍스트가 필요하므로 여러 개의 인터프리터를 생성해야합니다.여러 개의 Python3 인터프리터 인스턴스를 만들려면 어떤 API를 사용해야합니까?

Python3 매뉴얼은 실행 컨텍스트를 생성하는 데 최소한 두 가지 방법을 제공합니다.

  • PyInterpreterState_New
  • Py_NewInterpreter

그들에게 무엇 나는 완전히 분리 파이썬 컨텍스트를 만드는 데 사용해야하는? (시스템 프로세스와 같이)

답변

2

초보자는 파이썬을 임베딩하기 위해 문서를보고 있지만 Py_NewInterpreter은가는 길입니다. PyInterpreterState_New은 새로운 해석기 상태 객체를 생성하는 반면, Py_NewInterpreter은 새로운 하위 해석기를 생성합니다. 서브 인터프리터는 대부분 caveats을 제외하고는 별도의 프로세스와 동일하게 작동합니다.

+1

예, 내부적으로'Py_NewInterpreter'는 첫 번째 항목으로'PyInterpreterState_New'를 호출하여 새 PyThreadState와 새로운 인터프리터를 연결하고 초기 인터프리터 모듈을 설정합니다. –