boost-python相关内容

Boost.python中的error_already_set做什么,以及如何在Python C API中类似地处理异常

我一直在一个项目中,我想删除boost依赖项并用Python C API替换它。 我花了一些时间了解Python C API,我看到了这个 捕获(error_already_set const&) 我阅读了boost文档它说明了它的使用位置。但是我想知道为什么需要它,以及如何使用本机Python C api实现相同的功能。 解决方案 Boost发生Python错误时,抛出 e ..
发布时间:2020-06-10 23:03:07 C/C++开发

腌制Boost.Python暴露的枚举

是否可以(通过cPickle腌制)Boost.Python公开的枚举?我已经使用描述的第一种方法成功腌制了其他对象 ,但这似乎都不适用于枚举类型,默认情况下,这些对象似乎也不是可腌制的. 解决方案 与模块中不同.据了解,这是可能的,但是enum_语句的工作方式可以防止这种情况. 您可以在python方面解决此问题.在某个地方(可能在__init__.py文件中)执行以下操作: ..
发布时间:2020-05-27 20:22:23 Python

构建Boost.Python

我正在尝试根据官方网站上的说明构建Boost.Python. 我的操作系统是Windows 7 64位,编译器是MSVC11,boost是1.54. ==================================== 要安装基本的Boost,我从其网站下载了boost库,并将其解压缩到本地磁盘.路径为C:\local\boost_1_54_0. =========== ..
发布时间:2020-05-25 02:38:13 其他开发

通过Mat/Numpy转换向Python公开基于OpenCV的C ++函数

我遇到了一个问题,试图通过使用Numpy ndarray 向Python 2.7公开与OpenCV链接的动态C ++库函数,并使用OpenCV的 Mat 数据类型. 我想出了一个类似于 lightalchemist的解决方案解决方案,我也尝试使用boost :: python和boost :: numpy(也链接到Python 2.7)现在,我坚持使用前者.我已经到了可以在iPython中加 ..
发布时间:2020-05-20 20:28:10 Python

如何从Boost线程调用Python?

我有一个Python应用程序,该应用程序调用C ++ boost python库,并且一切正常.但是,我有一个C ++到Python的回调方案,其中来自Boost线程的C ++调用python,并且在C ++端出现访问冲突.如果我使用python线程进行完全相同的回调,则效果很好.因此,我怀疑我不能简单地使用boost线程从C ++回调Python,而是需要做一些额外的工作才能使它工作? 解 ..
发布时间:2020-05-14 00:39:04 C/C++开发

解释Python扩展多线程

Python解释器具有全局解释器锁,据我了解,扩展必须在多线程环境中获取它.但是 Boost.Python HOWTO页面说,扩展功能必须释放GIL并在退出时重新获取. 我想抵制在这里进行猜测的诱惑,所以我想知道在以下情况下GIL锁定模式应该是什么: 从python(可能在python线程中运行)中调用扩展. 扩展程序的后台线程会回调Py_*函数. 最后一个问题是,为什么链接文 ..
发布时间:2020-05-13 23:48:24 C/C++开发

嵌入式Python应用程序中的运行时错误R6034

我正在开发一个使用Boost.Python嵌入Python解释器的应用程序.这用于运行用户生成的与主程序交互的“脚本". 不幸的是,一个用户尝试运行脚本时报告了运行时错误R6034.主程序启动正常,但我认为加载python27.dll时可能会出现问题. 我正在使用Visual Studio 2005,Python 2.7和Boost.Python 1.46.1.仅在一个用户的计算机上会 ..

CPython,IronPython和Jython脚本相互兼容吗?

我很确定python脚本在这三个脚本中都可以使用,但是我想确保.我在这里和那里已经读到了有关可以编写CPython,Jython,IronPython的编辑器的信息,我希望我能对此有所作为. 我的情况是我要测试3种不同的api.每个api在功能上均执行相同的功能代码,但实现方式不同.我正在围绕每种语言的api编写包装器.每个包装器都应使用Boost :: python,Jython和Iron ..
发布时间:2020-04-25 08:20:53 Python

将Python列表提供给使用Boost Python的向量中的函数

我有一个带签名的函数: function(std :: vector vector); 我已经公开了它,但它没有接受Python列表。我已经查看了其他SO的答案,并且大多数都涉及更改函数以接受boost :: python :: lists,但我不想更改函数。我想我可以使用vector_indexing_suite为这个函数编写一个简单的包装器,但是我有 ..
发布时间:2018-11-15 21:20:10 其他开发

类别范围的枚举

我有一个带有枚举的c ++类,我想用 boost :: python 来模仿,所以我可以写 MyClass python中的.value boost :: python :: class _ 没有一个枚举_ 方法,我正在寻找解决方法。 > 我第一次尝试使用lambdas,如 MyClass { enum {value1,value2}; }; class_&MyClass ..
发布时间:2017-08-24 00:25:39 C/C++开发

将C ++ / CUDA类传递给PyCUDA的SourceModule

我有一个用C ++编写的类,也使用了cuda_runtime.h中的一些定义,这是来自名为ADOL-C的opensource项目的一部分,你可以看看这里! 这在我使用CUDA-C时有效,但是我想以某种方式在PyCUDA中导入这个类,如果有可能的话。所以,我将使用这个类在内核(不在'main')定义用于计算函数的导数的特定变量。有什么办法把这个类传递给PyCUDA的SourceModule? ..
发布时间:2017-03-04 14:46:12 Python