1
我是否导入这样的:与升压蟒蛇导入
numpy_module = bp::import("numpy");
或像这样:
numpy_module = bp::scope().attr("numpy");
我得到
terminate called after throwing an instance of 'boost::python::error_already_set'
我没有与Python 2.7的一个问题,但是在升级到Python 3.1之后,这个奇怪的异常就出现了。
然后你应该接受你自己的答案。但下一句话:当你捕捉到'error_already_set'时,你应该调用'PyErr_Print()',它会向你显示来自Python的真正的错误信息。 – 2011-06-11 23:58:26
很酷。如果你想以std :: exception的形式传播异常,你可以通过使用PyErr_Fetch()来获取异常的值(字符串),然后在C++中重新将它抛出为std :: exception。为什么提升Python似乎没有提供帮助来做到这一点我不知道。 – 2011-06-12 00:23:11