问题标签 [pyobject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1594 浏览

opencv - 如何在 c++ opencv 代码中将 PyObject 变量转换为 Mat

我在opencv中有一个c++ facerecognition代码和一个python代码。在 python 代码中,我从机器人读取帧,我想将此帧发送到我的 c++ 代码。我使用这个链接在 c++ 函数中调用 python 函数。

我的 C++ 函数是 embed.cpp:

我的python代码是alvideo2.py:

所以,我的问题是如何使用返回的帧cv::imshow("Original_image",presult);?. 否则我如何将 pyobject 转换为 Mat?

多谢。

0 投票
1 回答
240 浏览

python - Python 3.5.1,删除模块时不破坏全局变量

我有一个加载 python35.dll 的应用程序。使用 python API PyImport_AddModule 运行 py 文件。并使用 PyDict_DelItemString 删除模块。py 文件中有一个全局变量。调用 PyDict_DelItemString 删除模块时,全局变量不会被破坏。调用 Py_Finalize 时,全局变量被销毁。太晚了。这会导致内存泄漏。因为 Py_Initialize 是在应用启动时调用的,所以 Py_Finalize 是在应用关闭时调用的。

但是用python33.dll没问题,调用PyDict_DelItemString删除模块时可以销毁全局变量。

如何解决问题?有解决方法吗?我需要使用 python35.dll 并希望在调用 PyDict_DelItemString 删除模块时可以自动释放模块中的全局变量。

这是python测试代码:

0 投票
1 回答
1350 浏览

pygtk - Python 3.4 / GTK / 异步

我将 tkinter 与异步功能一起使用。

现在我将使用 gtk3 代替 tkinkter。

还有一种方法可以运行我的异步功能吗?

我应该如何调整代码

以下是一些代码片段:

asyncio.get_event_loop().run_until_complete(_event_loop(App(tkinter.Tk())))

0 投票
1 回答
961 浏览

python - 使用来自 C++、PyObject 的参数创建 Python 构造函数

我有一个A像这样的python类。

我必须像这样调用这段代码。

目前,我需要A从我的 C++ 代码中使用这个类。我已经走到这一步了。

但我收到错误

异常类型错误:来自“/usr/lib64/python2.7/threading.pyc”的模块“线程”中的“参数列表必须是元组”

如何实现从import语句到a.print_name("John")C++?任何帮助表示赞赏。

0 投票
1 回答
865 浏览

python - 是否可以从现有变量的名称中获取 PyObject 引用?

有没有办法在嵌入式 Python 代码中获取现有对象的对象引用?

换句话说:如果一个名为 'obj' 的对象已经存在(由脚本创建),并且我需要将其“转换”为 PyObject* 引用,是否有类似的函数: PyObject *getObjectReference(char *name) ?

编辑:作为一个例子,假设我在代码的一部分中导入了一些模块,通过使用

(或者也可以是定义相同变量的外部脚本)

现在,在代码的另一点中,我想获取该变量。我正在寻找类似的东西

在 c 中读取 python 的全局变量”部分回答了我的问题,隐含地说,如果没有对创建它的模块的引用,就无法检索全局定义的变量。这个对吗?

0 投票
1 回答
1995 浏览

python-2.7 - 创建 Python New Style 类的实例以嵌入 C++

我正在使用PyObject将部分python代码嵌入其中C++。我找到了适用于创建 python 实例的解决python 2.7方案PyInstance_New。但它不适用于看起来像这样的新型 python 类。

在我的旧代码(python 2.7)中,类定义不继承自对象类,我创建实例来调用print_name这样的方法。PS 文件名为 A.py。

但是上面的代码不再起作用了,因为在 newpython 3.x中,type(class)returnsobject而不是instance. 现在,我收到了这个错误。

内部函数的错误参数。

任何帮助表示赞赏。谢谢你。

0 投票
1 回答
406 浏览

python - SystemError:NULL结果多处理Python

我正在使用多处理池来训练机器学习者。

每个 LearnerRun 对象都有一个学习者、一个超参数字典、一个名称、另一个选项字典中的更多选项、要写入结果的目录的名称、一组要训练的示例 ID(切片或 numpy 数组) ,以及一组要测试的示例 ID(也是切片或 numpy 数组)。重要的是,尚未读取训练和测试数据:ID 集相对较小,并指导后续函数的数据库读取行为。

我打电话self.pool.apply_async(learner_run.run),以前工作得很好。现在池似乎已加载完毕,但 run() 函数顶部的打印语句从未打印,因此进程实际上并没有运行。

我已经跟踪了一些关于此的其他线程,发现我可以更详细地看到问题,handler = self.pool.apply_async(learner_run.run)然后是handler.get(). 这将打印“SystemError: NULL result without error in PyObject_Call”。

太好了,我可以谷歌。但是我在 Multiprocessing 的这个问题上所能找到的只是它可能是在将太大而无法腌制的参数传递给子进程时引起的。但是,我显然没有向我的子进程传递任何参数。那么给了什么?

除了超过分配的内存大小的参数(我有理由确定这不是这里的问题)之外,还有什么可以导致 apply_async 给出空结果?

同样,这在我去度假之前有效并且没有改变。对其他代码进行哪些类型的更改可能会导致它停止工作?

在此处输入图像描述

如果我不尝试get()从处理程序中执行,那么执行不会因错误而停止,内存使用会遵循这种奇怪的模式。

0 投票
1 回答
131 浏览

python - 尝试通过 Python 脚本发布 C 数据

我一直在尝试发布一些边界框数据(来自 YOLOv2 神经网络),并且在将一些值发布到 python 脚本时遇到了一些问题。

image.c 代码:

这里有一些代码

本质上,我正在尝试将 left、right、top 和 bot int 发布到 python 脚本。

这是 python 脚本 run_network.py:

Makefile 可能有几个问题,所以这里是文件:

有几个编译错误,说明“未定义对'pyTuple_SetItem'的引用”提前感谢您的帮助!

重新制作项目,还有更多错误!

0 投票
1 回答
1535 浏览

python - 如何将 Python 程序从 gtk2 移植到 gtk3?

我们正在尝试将此程序从 gtk2 移植到 gtk3。当我尝试时pygi-convert.sh,出现以下错误:

有什么建议或其他方式来做这个端口吗?

0 投票
2 回答
3174 浏览

python - ctypes.py_object 的属性

我正在尝试创建一个 python 数组,但下面的代码有问题

在初始化中,它使用 ctypes 创建一个数组,我不太了解最后两行。我试图将它们更改为一行

但它不起作用并给我错误

谁能为我解释一下?