问题标签 [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.
python - 是否可以在函数中直接使用 PyObject 引用?
我是 Python 的新手,我正在尝试创建一个线性卷积的小动画。
错误消息如下:
我想这是因为当我尝试通过 animation_convo 调用 update_convo 时,它会将 y1 和 y2 的未更新版本传递给 update_convo。
我试图研究如何处理它,其中一个解决方案似乎是使用模块 ctypes 以便在 Python 中使用某种指针。但是,我认为这在我的情况下有点矫枉过正,我想知道他们是否有任何方法可以将对 y1 和 y2 的 PyObject 的引用传递给我的函数 update_convo。
我希望我的问题足够清楚,我会非常感谢任何帮助我或给我信息的人。
python - 在 C 中调用 Py func 时,`PySet_Contains` 有什么问题?
我这样写 C 源代码,旨在用 C 加速 Python 代码,所以我在 C 中包含了一些 py 对象和 func:
- 包括头文件
Python.h
和动态链接文件libpython3.8.so
。
- 在这段代码中,我创建了一个 Python
set
对象并向其添加三个字符串,'nc', 'ckd', 'nc.3e'
. 添加到集合中的字符串是随机的,这不是问题的关键。 - 当我检查与 func
if 'nc' in bigram
相对应的时PySet_Contains
,正在运行的代码会损坏。
但是当我nc
像其他人一样更改为其他字符串时'ok', 'ckd', 'project'
,代码运行正常。只有nc
引起的错误。
代码和奇怪的字符串有什么问题nc
?
附加说明
- 我都试过了
Python3.8
,Python3.11
结果是一样的。 - 我尝试了数千个其他字符串,例如
'中国', 'few', '$$####', '1e32e2'
,所有其他字符串都运行良好。 - 那是奇怪的字符串
'nc'
。
c++ - 将 C++ PyTorch 张量转换为 Python PyTorch 张量
对于我正在处理的项目,我需要从 C++ 调用 Python 函数,该函数具有 PyTorch 张量作为输入。在寻找实现这一点的方法时,我发现使用名为THPVariable_Wrap的函数(我找到链接 1和链接 2的信息)可以将 C++ Pytorch 张量转换为 PyObject,它可以用作调用 Python 的输入功能。但是,我尝试通过将头文件直接包含在我的代码中来导入此函数,但这将始终返回错误LNK2019,调用该函数时,具有以下描述:
严重性代码描述项目文件行抑制状态错误 LNK2019 未解析的外部符号“__declspec(dllimport) struct _object * __cdecl THPVariable_Wrap(class at::TensorBase)”(_ imp ?THPVariable_Wrap@@YAPEAU_object@@VTensorBase@at@@@Z) 引用在函数主 pythonCppTorchExp C:\Users\MyName\source\repos\pythonCppTorchExp\pythonCppTorchExp\example-app.obj 1
我相信问题在于我如何在我的 C++ 文件中导入THPVariable_Wrap函数。但是,我仍然对 C++ 不太熟练,并且这方面的信息有限。除了 Pytorch,我还使用 Boost 调用 Python,我使用的是 Microsoft Visual Studio 2019 (v142),使用 C++ 14。我在下面发布了我使用的代码。
C++ 文件
蟒蛇文件
debian - 安装 pyobjc 和 pyobjc-core debian os
我正在尝试安装 pyobjc 和 pyobjc-core,但无论出于何种原因,它都不会在此处输入图像描述。我尝试将它们直接安装到 pycharm 并通过我的终端,我收到一条我不明白的错误消息。帮助。
python - 如何使用 GStreamer 创建透明图像叠加层?
我尝试在 playbin 视频上覆盖具有透明背景的十字准线,但无法显示视频。我发现了一些类似的问题,但答案不起作用(自发布以来可能发生了一些变化。我尝试了这些答案中的原始代码,但它们似乎不起作用)。根据https://bugzilla.gnome.org/show_bug.cgi?id=663589,我设置了对齐方式,但该应用程序只显示覆盖的图像而不是视频。