boost-python相关内容
Python仅允许对不可变对象使用哈希值.例如, hash((1,2,3)) 可以,但是 hash([1,2,3]) 引发TypeError: unhashable type: 'list'.请参见 Python文档.但是,当我通过通常的boost::python::class_函数在Boost.Python中包装一个C ++类时,每个生成的Python类都有一个默认的哈希
..
使用boost::python,我已经能够包装一个具有一些虚函数的类(Node),这是一个麻烦,但是现在我试图覆盖该类的setattr/getattr. 我有boost::python来调用我自己的setattr实现,但是我不知道如何避免发生递归. 所以我有一个Node类,并且我希望能够编写: node1.param1 = 5 # Call node.SetParam
..
我正在尝试通过Boost.Python链接C ++和Python. 我有Visual Studio 2012 Express版本,Python 2.7和Boost 1.54. 我按照Boost官方网站的说明在计算机上安装Boost,这意味着我遵循了以下步骤: 我下载了预编译的二进制文件并将其安装在C:\local\boost_1_54\. 我运行bjam b2 --buil
..
这可能是一个非常基本的问题,但我无法在任何地方找到解决方案.我正在使用Boost.Python在C ++中构建Python扩展,并且需要将我的项目与libpcap链接,但是我指定的内容似乎都没有将bjam指向正确的位置. Pcap当前安装在/usr/local/include (OS X 10.9)中,我可以使用XCode,Make或任何其他构建系统将其导入.但是,当我尝试运行bjam时,出现链接
..
在我的应用程序中嵌入python时,我遇到了与python对象生存期相关的问题.我的应用程序使用虚拟方法将某些类扩展为python,因此可以通过python代码派生和扩展它们.应用程序使用python解释器并调用对象的虚拟方法.问题是,当对象的引用计数器在从C ++代码调用的python重写方法内部达到零时,解释器会立即销毁对象.因此,如果我们在对象的另一个方法中调用这种方法,我们将获得与删除此语
..
是否可以将Python3 asyncio软件包与Boost.Python库一起使用? 我有使用Boost.Python构建的CPython C++扩展名.用C++编写的函数可以工作很长时间.我想使用asyncio调用这些函数,但是res = await cpp_function()代码不起作用. 在协程内部调用cpp_function会发生什么? 如何不调用工作时间很长的C++函数来
..
我通过brew install python3安装了Python3.但是,cmake找不到PythonLibs3.这是我的CMakeLists.txt的标头. cmake_minimum_required(VERSION 3.0) find_package(PythonLibs 3 REQUIRED) 当我执行cmake时,我收到此错误消息 Could NOT find Pytho
..
我正在尝试从Mac OS High Sierra上的此链接构建此简单的Boost python演示 以下是hello_ext.cpp: #include char const* greet() { return "hello, world"; } BOOST_PYTHON_MODULE(hello_ext) { using namesp
..
我正在使用boost :: python将一些python代码嵌入到应用程序中.我能够获得要正确评估的打印语句或其他表达式,但是当我尝试导入模块时,它没有导入并且应用程序正在退出.此外,嵌入式代码中的globals()函数调用也给出了运行时错误. #include using namespace boost; using namespace boost
..
简介 我正在尝试根据嵌入式python脚本中的计算状态更新QT GUI元素.我能够从python中提取所需的值,但是无法设置对c ++对象的引用以使其正常工作. 详细信息 假设以这种方式(在calc.cpp中)调用python代码: void class_name::transfer(varA, varB, varC) { Py_Initialize();
..
使用Boost Python,暴露给python的C ++函数是否可能根据传入的单个参数的 value 返回整数或字符串(或其他类型)? 所以在Python中,我想这样做: from my_module import get_property_value # get an integer property value i = get_property_value("some_i
..
bp :: extract将bp :: object转换为特定类型. 问题是如何做反义词? 假设我有一个PointContainer和Point类. 我需要具有这种签名的功能 bp::object get_point(const PointContainer &, const bp::object & input); 它应该检查输入参数是否为整数.在这种情况下,它将从PointCo
..
我有一个c ++ 11函数,返回一个: std::vector f(); T是我通过class_暴露给python的c ++类.所有T实例都驻留在静态存储中,该存储将一直存在于python进程的整个过程中. 我正在尝试将f作为python函数公开 getAllTs() 这将返回T周围的python对象包装.我选择T *作为class_的保留类型.
..
当a的C ++析构函数执行boost :: python时,可以提供任何保证 考虑到零的时刻被称为包装的对象 对应的python对象的引用计数? 我担心一个C ++对象会打开一个文件进行写入并在其析构函数中执行文件关闭.是否可以保证在删除该对象的所有python引用或超出范围时都写入文件? 我的意思是: A=MyBoostPythonObject() del A # Is the
..
我正在使用Boost Python为Linux和Windows(Visual Studio)开发C ++库的Python绑定. 在Windows中,静态Boost Python库具有针对Python的依赖关系(这是另一个线程的动机,if((${CMAKE_SYSTEM_NAME} STREQUAL "Linux") OR APPLE) target_link_libraries(my_pyt
..
给出一个用Boost.Python公开的C ++类,我该如何公开两个构造函数: 一个采用numpy数组的对象, 另一个需要python列表的人吗? 解决方案 对于您的意思我不是100%,但是我假设您想让一个构造函数使用一个Python列表,而另一个则使用一个Python列表. numpy数组.有两种方法可以解决此问题.最简单的方法是使用make_constructor函数并将其重载
..
我有一个python项目,我想使用Boost :: Python与某些C ++库进行交互.我想知道其他人如何在同一项目中组织他们的python/boost :: python/C ++代码. 按照组织,我的意思是在文件/目录结构,构建过程等方面. 解决方案 在下面的内容中,pif表示Python接口.首先,我有一个名为conv_pif.hpp的通用头文件,其中包含Boost头和C +
..
我有一些boost python类,我在python中实例化了这些类.我要复制它们.所以,如果我有 p = Bernoulli(0.5) 我想做 q = Bernoulli(p) 但是,如果我不知道p的类型怎么办?我尝试这样做: q = copy.deepcopy(p) 但是python表示无法腌制p. 我唯一的解决方案是向Bernoulli的接口添加一个clo
..
我想将boost.python与python 3.2+(最好是3.4)和Visual Studio 2010一起使用. 当我尝试针对任何Python3(我已经测试过3.0、3.2和3.4)制作libs\python\example\tutorial示例时,它没有链接(请参见下文).当我将它链接到2.7时,它可以工作. 两次尝试之间唯一要做的更改是更新主目录中的user-config.j
..
现在有点令人生畏.我已经尽我所能尝试了,但无济于事. 我正在使用基于Ubuntu 16.04 LTS的ElementaryOS Loki. 我在/usr/local下安装了boost 1.65.1 我正在使用cmake 3.9.3,该版本支持Build Boost 1.65.0及更高版本. 我已经尝试了各种可能的方法来弄乱我的CMakeLists.txt,到目前为止,它看起来像这样
..