pybind11相关内容

是否未调用PyBind11析构函数?

我有一个用PyBind11包装的c++类。问题是:当Python脚本结束时,c++destructor不会被自动调用。这会导致不整洁的退出,因为网络资源需要由析构函数释放。 作为一种解决办法,有必要显式删除Python对象,但我不明白为什么! 请解释一下这里出了什么问题,以及当Python对象被垃圾回收时如何自动调用destructor? Pybind11绑定代码: py: ..
发布时间:2022-05-19 13:03:49 C/C++开发

自动模块中参数的Sphinx删除模块前缀

我知道如何通过设置“ADD_MODULE_NAMES=FALSE”来删除自动模块指令中函数的模块前缀。Remove package and module name from sphinx function 但是,它不能删除自动模块指令中args的模块前缀。下面是自动模块生成的文档。 您可以看到self arg的数据类型有一个长前缀,如“PyPhysLeo.data_core”。 ..
发布时间:2022-04-21 15:41:15 Python

Pybind11多进程挂起

我正在编写一个使用Pybind11嵌入Python解释器(Windows,64位,Visual C++2017)的应用程序。从Python中,我需要产生多个进程,但它似乎不起作用。我尝试使用以下代码作为测试: import multiprocessing import os import sys import time print("This is the name of the scrip ..
发布时间:2022-04-10 18:16:00 其他开发

使用pybind11共享MPI通信器

假设我已经在MPI通信器周围创建了一个包装器: class Communicator { public: Communicator() : comm(MPI_COMM_WORLD) {} Communicator(int const color, int const key) { MPI_Comm_split(MPI_COMM_WORLD, c ..
发布时间:2022-03-10 23:40:31 C/C++开发

Pybind Numpy 访问二维/ND 数组

pybind 新手 - 阅读文档,但我不了解如何将其应用于 2D 数组. 我有两个数组存储 3d 坐标 shape = (10,3) a = np.zeros(shape=(10,3))b = np.ones(shape=(10,3)) * 3c = a + b 现在,使用 pybind,如何在处理 numpy 数组的 C++ 中执行此操作? 在我阅读的某些文档中,我使用 [] 运 ..
发布时间:2021-11-18 05:00:08 Python

通过 pybind11 返回 numpy 数组

我有一个 C++ 函数计算一个大张量,我想通过 pybind11. 从 pybind11 的文档来看,似乎使用 STL unique_ptr 是可取的.在下面的示例中,注释掉的版本有效,而给定的版本可以编译但在运行时失败(“无法将函数返回值转换为 Python 类型!"). 为什么 smartpointer 版本失败?创建和返回 NumPy 数组的规范方法是什么? PS:由于程序 ..
发布时间:2021-11-18 03:20:06 C/C++开发

如何安装 python-pybind11?

我从我的项目文档中看到我需要使用 安装 python-pybind11 sudo apt -y install python-pybind11 但是我得到了这样的错误: 正在阅读包裹清单...完成 构建依赖树 读取状态信息...完成 E: 无法定位包 python-pybind11 我不确定 python-pybind11 是否是一个有效的包,我可以在哪里查看? ..
发布时间:2021-11-17 01:04:47 其他开发

Pybind11:在构造上将类所有权转移到 C++

我遇到了一个问题,即使用 pybind11 从 c++ 基类派生的 python 类被立即销毁(垃圾收集).我希望 C++ 拥有动态分配的对象的所有权,但我似乎无法做到这一点.我试过 keep_alive,将 shared_ptr 作为 py::class_ 模板参数传递,而 py::return_value_policy ... 没有任何效果.我怀疑这只是用户错误. 这是对我遇到的实际 ..
发布时间:2021-09-29 18:39:58 C/C++开发

使用 pybind11 嵌入 python.虚拟环境不起作用

我正在尝试制作一个简单的 c++ 应用程序,它使用 googletrans python 库翻译短语.为此,我选择了 pybind11 来嵌入 python.我也使用 cmake 进行代码配置. 当我使用全局 python 安装时一切正常,但是 我不明白如何使用 pybind 的虚拟环境 以及设置正确的 python 解释器、路径等的整个过程. 在 cmake 中. 我发现了这个 st ..
发布时间:2021-09-18 18:44:42 C/C++开发

为什么 C# 回调只在 python 模块使用 cv.imshow() 时执行?

我想不出更好的描述性标题,因为它涉及 3 种语言,我现在将解释. 我围绕 Python 模块编写了一个 C++ 包装器,顺便说一下,它在 C++ 中工作得很好.我用这个包装器制作了一个 DLL,并将一些功能作为 C 公开,并在 C# 应用程序中使用它们. 问题是,如果我不显示网络摄像头提要,C# 应用程序就会挂起. 那就是在 Python 模块中有这个条件: if self.debug ..
发布时间:2021-09-14 20:08:05 C#/.NET

Pybind11:用指针成员包装结构?

我需要包装以下结构 struct dataStruct {const std::vector&数据;bool valid_data = true;} 在我的包装文件中,在 PYBIND11_MODULE 下等等我有 py::class_(m, “dataStruct").def(py::init()).def_readwrite(“数据", &dataStruct::data) ..
发布时间:2021-08-31 19:12:23 C/C++开发

使用 setuptools 编译扩展模块的困难

我正在开发一个设计为 pip 安装的包(模块?).该包包含一个 C++ 扩展,使用 pybind11 包装,它链接到一些其他库. 我能够手动编译和链接扩展库而没有问题,但是我无法正确配置我的setup.py文件,以便扩展模块在调用 pip3 install my_package. 我一直在关注此代码(链接到通过 pybind11 文档)来配置我的 setup.py 文件,该文件包含在下 ..
发布时间:2021-07-23 19:42:08 Python

尝试使用gcc构建pybind11项目时获取未定义的引用

我正在尝试使用 Makefile 在GCC上使用GCC在Linux(在我的情况下为Ubuntu 18.04)中构建C ++静态库.我注意到问题不在于makefile本身,而是我尝试使用GCC进行编译和构建的方式.在我对GCC进行更多解释之前,这是我当前的项目层次结构. 该项目仅使用 Pybind11 标头库,该库位于 External_Libraries 目录中. 我的类定义和实现(命 ..
发布时间:2021-05-09 20:30:18 其他开发

从C ++返回Eigen :: Matrix数组到Python,无需复制

我有一些C ++代码可以生成和处理 Eigen 矩阵的数组.最后,我想在python中使用这些矩阵,并认为这可能是 pybind11 的工作. 基本上我想要在python中返回的是两个嵌套列表/numpy数组 mat_a(I,4,4)和 mat_b(J,K,4,4).因为我必须在C ++中做很多线性代数工作,所以我想使用Eigen,而我使用的数据结构是 std :: array ..
发布时间:2021-05-03 20:09:57 C/C++开发

错误:"template< class _Tp,class _Dp>"模板参数列表中参数1的类型/值不匹配.class std :: unique_ptr’

在开始之前,我是C ++ 11的一个完全菜鸟,几年前就使用过C. 我正在尝试使用pybind11编写C ++ 11代码的python绑定,并且遇到主题错误.我基本上是在遵循Nvidia的指南人,并停留在此错误.有什么好心的人能指出我正确的方向吗? 定义: template类UpSamplePlugin:公共nvinfer1 :: IPluginE ..
发布时间:2021-04-20 18:49:11 C/C++开发