python-embedding相关内容

_ctyes.cpython-39-x86_64-linux-gnU.S.so:未定义的符号:使用dlopen加载的Embedded Python中的PyFloat_Type

我使用的是ubuntu 20.04中的Embedded Python(3.9),尝试导入ctype时出现错误_ctypes.cpython-39-x86_64-linux-gnu.so: undefined symbol: PyFloat_Type。 我正在编译共享对象,它是使用dlopen()动态加载的。 CMake用于构建共享对象。我这样说明对Python3的依赖关系: find_ ..
发布时间:2022-07-16 20:58:02 Python

如何在 C++ 代码中捕获 python 标准输出

我有一个程序,它在运行期间有时需要调用 python 来执行某些任务.我需要一个函数来调用 python 并捕获 python 标准输出并将其放入某个文件中.这是函数的声明 pythonCallBackFunc(const char* pythonInput) 我的问题是捕获给定命令的所有 python 输出 (pythonInput).我没有使用 python API 的经验,我不知道什么 ..
发布时间:2021-12-18 15:35:13 C/C++开发

如何扩展Python并制作C包?

前一段时间,我在C应用程序中嵌入并扩展了Python 2.7.在火车上晚些时候,我将其带到Python 3,并且模块注册的许多初始化对我来说也发生了变化. 在我使用 PyModule_Create 创建模块并添加成员之后,甚至添加了子模块,这样我就可以执行: 从foo.bar中的 导入bas 我将“顶层"模块添加/添加到了 PyEval_GetBuiltins()中,这在Py 2中可 ..
发布时间:2021-04-24 21:11:52 Python

如何在C ++中访问python模块?

我正在尝试导入C ++中的模块.该模块位于一个包中,应按以下方式访问: from x.y import class1,func1, const1, etc 我使用的是Python3.6,到目前为止,对于该版本,我发现使用PyRun_SimpleString进行导入,然后使用PyImport_AddModuleObject来处理我的模块.即: PyRun_SimpleString ..
发布时间:2020-07-04 23:23:56 C/C++开发

嵌入Python 3-没有内置函数?

脱发很多之后,我正在寻求帮助. 我将Python 3.3嵌入到一个简单的应用程序中.一个不寻常的方面是Python不在路上,但似乎一切正常.但是由于某种原因,什么也无法执行. 下面是一个显示错误的小示例程序: 编辑:我知道引用计数太可怕了-这只是一个简单的例子. SetDllDirectory(L"D:\\dev\\python\\python33"); //so Pyth ..
发布时间:2020-07-04 23:23:44 Python

将Python嵌入C:链接错误-对PyString_AsString的未定义引用

我正在尝试将python程序嵌入C程序中.我的操作系统是Ubuntu 14.04 我尝试将python 2.7和python 3.4解释器嵌入到同一C代码库中(作为单独的应用程序).嵌入python 2.7时,编译和链接有效,但不嵌入python 3.4.在链接器阶段失败. 这是我的C代码(只是一个示例,不是真正的代码) simple.c #include ..
发布时间:2020-07-04 23:18:10 Python

限制嵌入式Python的执行时间

如果我将Python解释器嵌入C或C ++程序中,如此示例,是否有任何方法可以限制解释器运行的时间?有什么方法可以阻止Python代码进入无限循环,从而阻止PyObject_CallObject(或等效代码)返回? 类似地,如果Python代码创建了一个新线程,是否有什么方法可以阻止该线程进入无限循环并永远运行? 解决方案 您可以在因此,我们必须在停止线程运行方面更具创造力.我可以想 ..
发布时间:2020-07-04 23:18:05 Python

最小的Python构建可满足我的应用程序的脚本需求?

关于为我的应用程序的脚本编写需求构建极简版本的Python(2.x),您有什么建议? 我在这里的主要动机是将占用空间(包括内存和磁盘)保持在尽可能低的水平,以便本机应用程序不会受到任何重大性能影响.甚至考虑了Python DLL的大小,因为可能会增加我的应用程序的启动时间. 我们可以降低到 Lua 或其他轻量级解决方案吗? 解决方案 您是否尝试过 Tiny Python ? ..
发布时间:2020-07-04 23:18:03 Python

将Matplotlib图表嵌入到Qt/C ++应用程序中

我正在Qt/C ++中开发面向数学的GUI应用程序,并希望嵌入Python脚本,包括NumPy和Matplotlib.最终,使用Python C API,我设法运行了一个脚本,从Python变量(包括NumPy数组等)中检索了值.但是,我未能将Matplotlib图表绘制到我的Qt/C ++应用程序中. 最好说,我已经设法使用Python脚本将图表的RGBA缓冲区保存到变量,然后将变量的值作 ..
发布时间:2020-07-04 23:17:57 Python

从C/C ++程序调用的多个操作系统线程上的多个独立的嵌入式Python解释器

在 C/C ++应用程序中嵌入Python解释器已有详细记录.从C/C ++应用程序调用的多个操作系统线程(即同一进程中一个操作系统线程的一个解释器)上运行多个python解释器的最佳方法是什么?此类应用程序还可能存在与内存碎片和Py_Finalize()的限制有关的问题. 一种这样的方法可以是: Python线程,因此在pyconfig.h中禁用了GIL,以使其保持简单(#undef ..
发布时间:2020-07-04 23:17:43 Python

嵌入式Python:多个子解释器不起作用

我正试图了解子口译员和GIL.但是我的实验经常失败(相同的代码很少起作用). 从SO问题和一些站点收集信息,我有以下代码产生了2个非python线程.这些线程中的每一个都被赋予了一个python子解释器.我想在这些线程中释放GIL并在C ++中调用DLL函数(尽管此示例未详细说明.在这里,我只是写到stdout).基本上,我想在执行中看到并发性(非Python DLL调用). #inc ..
发布时间:2020-07-04 22:24:44 Python

具有关键字参数的PyObject_CallMethod

我试图在我的C应用程序中嵌入一个Python(2.7)库,并且正在使用Python/C API从C调用Python代码.我需要调用一个带有关键字参数的Python方法.从语义上讲,我正在尝试在Python中达到以下等效行: myobject.dosomething('blahdy blah', somearg=True) 通过阅读文档,我设法做到了如下所示,但这不会传递关键字参数: ..
发布时间:2020-07-04 22:12:09 Python

嵌入式Python 3解释器是否会泄漏内存?

此错误报告指出,自2007年6月起,Python解释器将无法清理所有已分配的内容在带有嵌入式Python解释器的C/C ++应用程序中调用Py_Finalize之后的内存.建议在应用程序终止时调用一次Py_Finalize. 此错误报告指出,从3.3版到2011年3月,解释器仍在泄漏内存. > 有人知道此问题的当前状态吗?我很担心,因为我有一个应用程序,其中每个运行中的实例都多次调用解释 ..
发布时间:2020-07-04 22:09:17 Python

从C ++应用程序将List和numpy.matrix传递给python函数

我有一堆用python编写的函数(用于快速原型制作).我的主要项目是C ++,我想从我的C ++程序中调用这些函数,这些函数使用一些专门的python模块,例如numpy,pyside等. 首先,我有一个函数带有4个参数.第一个是numpy.matrix对象,其他三个是简单的python列表.该函数返回一个numpy.matrix对象. 我知道我应该结合使用Python/C API和N ..
发布时间:2020-05-18 23:29:13 C/C++开发