2011-06-11 1 views
1

나는이 같은 수입 여부 :

numpy_module = bp::import("numpy"); 

또는 같은

가 :

내가

terminate called after throwing an instance of 'boost::python::error_already_set' 

을 얻을

numpy_module = bp::scope().attr("numpy"); 

내가 파이썬 2.7에 문제가 없었어요 ,하지만 파이썬 3.1로 업그레이드 한 후에는 이상한 예외가 발생합니다.

답변

1

작성 사항 : Boost for Python31을 (를) 컴파일해야했습니다.

+1

여기에 직접 대답을 받아 들여야합니다. 그러나 다음 번에 한 단어 :'error_already_set'를 잡을 때'PyErr_Print()'를 호출하면 파이썬에서 실제 오류 메시지를 볼 수 있습니다. –

+1

차가움. 예외를 std :: exception으로 전파하려면 PyErr_Fetch()를 사용하여 예외의 값 (문자열)을 얻은 다음 C++에서 std :: exception으로 다시 throw합니다. Boost Python이 왜 이렇게 도움이되지 않는 것 같은지 모르겠습니다. –