问题标签 [python-bindings]

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 投票
0 回答
42 浏览

c++ - Pixar USD 构建错误,缺少 boost_python27-vc142-mt-gd-x64-1_70.lib

我正在尝试在 Visual Studio 2019 中构建一个简单的 USD C++ 应用程序。我有一个预构建的 USD,我指向 Include 和 Lib 文件夹。我被上述错误困住了。我看到了 boost_python27-vc142-mt-x64-1_70.lib,但没有看到 boost_python27-vc142-mt-gd-x64-1_70.lib(还有一个额外的 -gd-)。不知道这是在哪里被拉进来的。任何帮助将不胜感激。

0 投票
0 回答
102 浏览

python - 第三方 c++ 库的 Python 绑定

我有一个第三方 C++ API,带有头文件的 Linux 动态库 (.so)。

我的问题是,我可以直接编写一个绑定文件并用于boost.python创建 python 绑定。我试过这样做,我只从 API 向我的 bind.cc 文件添加了一个函数,编译它并创建了另一个.so文件。但是当我在 python3 中导入它时,它抛出了一个ImportError.

这是我的绑定文件:

构建命令:

这将创建:tp_api.cpython-38-x86_64-linux-gnu.so

然后在python3中:

抛出:

0 投票
0 回答
58 浏览

c++ - 如何使用 GNU Autotools 构建 Pybind11 Python C++ 扩展模块?

我一直在尝试编写一个configure.ac文件来构建 pybind11 python C++ 扩展模块。你可以在这里找到我的代码。

Pybind11 文档提到了一个用于构建 C++ 绑定的CMake 构建系统。显然,pybind11 提供了一个名为 CMake 的函数pybind11_add_module()来构建绑定。是否有类似的 Autoconf 宏?如果没有,有关如何执行此操作的任何建议?

附加信息:
我确实找到了一个名为qflex的项目,它使用 pybind11 为他们的 C API 构建了一个 python 接口。此外,他们有一个 GNU 构建系统。我在他们的configure.ac 文件中找不到任何有用的 Autoconf 宏。也许他们在做点什么Makefile.am

0 投票
0 回答
31 浏览

python - C++ python绑定:导入cv2失败

我正在使用 Ubuntu 20.04、python 3.8 并在 Qt Creator 中开发 C++ 项目。我正在尝试从 C++ 代码调用 python 文件。我在 conda 中创建了一个环境并调用了 py 文件。尝试导入 cv2 模块时发生分段错误。可以导入 sys、numpy 等其他模块。cv2 安装在环境中,当我从 cmd 提示符运行 python 时可以访问。

我还尝试直接在 C++ 文件中运行 python 命令,例如:

但这也会发送分段错误。我尝试在 CMakeLists.txt 中给出站点包目录的路径,但它也导致了同样的错误。

主窗口.cpp:

Qt Creator 调试器堆栈跟踪如下: 在此处输入图像描述 在此处输入图像描述

0 投票
1 回答
62 浏览

python - PYBIND11:当 python 解释器嵌入并在另一个线程中运行时,在另一个 c++ 线程中更改类对象值

我只是在 python 中打印 car1.vehicle_id 的值。我希望它在前 2 秒打印“1234”,然后当另一个线程中的值更改为“4543”时,更改应该在 python 中生效。这是可能的还是有一个简单的例子可以帮助我解决这个问题?

C++

Python

电流输出

总是 1234

所需输出

0 投票
0 回答
16 浏览

python - 从 Python 的共享库中调用 c 代码时出现 cdef extern 错误

我正在尝试将 python 代码包装在经过测试的 c 代码周围。以下是步骤:

(1) 建共享库 gcc -c -Wall -Werror -fpic calc.c

下面是 calc.c 代码:

calc.h extern int add(int a,int b);

(2) 我将生成的 libcalc.so 放在我下面的 python 代码所在的同一文件夹中

(3) 下面是我的 pymain.c

(4) 下面是pycalc代码

但它在下面一行的上述文件中给出了错误 SyntaxError: invalid syntax

0 投票
0 回答
28 浏览

build - 为 Apple Silicon 构建 py-ble-driver-py

我正在尝试为 Mac M1 Pro(即 Apple 芯片)重建 Nordic 的pc-ble-driver-py 。我正在关注其存储库中的自述文件,并且(我认为)设法重建了底层的pc-ble-driverarm64现在我正在尝试构建和打包 Python 绑定py-ble-driver-py

运行打包命令时:

我收到以下错误(为简洁起见):

显然,有些事情不太正确,但我不确定从哪里开始寻找,因为我对 CMake 并不太熟悉。在看到有关架构不匹配的线程中的一些可能相关信息后,我尝试调整CMakeCache.txt中的一些值。

谁能帮助我推进构建或进一步了解问题?