问题标签 [python-cffi]

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 投票
1 回答
559 浏览

python - Python CFFI 的内存管理和析构函数/free() 的约定?

如果我要包装一个 C 类:

确保lib.MyClass_destroy(…)调用的最佳实践是什么?

当 Python 对象被 GC 处理时,确实cffi有一些对象包装器会调用析构函数,例如:

或者那个析构函数逻辑应该在类的__del__?就像是:

这里有哪些最佳实践?

0 投票
2 回答
612 浏览

python - 如何在开发过程中构建 Python CFFI 模块?

在开发过程中构建 CFFI 模块的最佳实践是什么?

现在我正在使用 Makefile:

然后测试我可以使用:

但这似乎不是最理想的。在开发过程中是否有更好的方法来构建 CFFI 模块?

0 投票
1 回答
81 浏览

python - 获取指向 Theano 生成的函数的 C 指针?

我想使用 C/Fortran 代码中的 Theano 函数(特别是,我想使用用 Fortran 编写的隐式 ODE 求解器和在 Theano 中创建的函数)。有没有关于如何做到这一点的示例/资源?

0 投票
1 回答
3898 浏览

django - 如何在 AWS Beanstalk 上安装 cffi 包

这个问题看起来和这篇文章一样,但由于没有答案,我在这里重新提问。

我有一个 Django 项目要部署在 AWS Beanstalk 上,它使用的是 package cffi。当我运行eb deploy时,错误日志如下所示:

我可以说 AWS 寻找libffi没有成功。但是,我该如何安装它?我尝试了上面链接中的解决方法,但也没有工作。

0 投票
1 回答
319 浏览

python - How do I wrap a C-library including its header into a python program using CFFI?

The code above is the one I am actually struggling with. For using some functions of libelf, I need to wrap the library and the header. After long time of recherche this seems to be the right approach to do that.

But I get a parsing error:

cannot parse "#ifndef _LIBELF_H"

It seems that all kinds these expressions cause parsing errors. How can I solve this problem? Or is there another approach of wrapping both: library and header?

0 投票
1 回答
2531 浏览

python - 使用 Python 的 CFFI 并排除系统头文件

我正在尝试使用Python 的 CFFI开发 Python 绑定到用 C 编写的科学模型。CFFI 文档有点稀疏,我被困在了这个cdef阶段。

到目前为止,我的流程遵循以下步骤:

  1. 预处理头文件:

    gcc -E -gcc -std=c99 -E -P src/my_c_interface.c -I./include/ -I../shared/include/ > header.txt

    include/这将生成一个文本文件,其中包含我的目录中的头文件中包含的所有 C 声明。它还包括标准库的声明(我很确定这是我的问题所在)。header.txt看起来像这样(完整的 header.txt 在这里

    从系统头文件开始:

    并以我的标题中定义的部分结束:

    /li>
  2. 用于cffi解析预处理的头文件:

    这将返回以下错误(完整的回溯在这里):

    /li>

鉴于我所处的位置,对于那些比我更熟悉 cffi 的人,我有几个问题:

  1. 是否可以让预处理器排除系统头文件?
  2. cffi有人知道比文档中显示的更复杂的任何示例吗?现实世界的例子会有所帮助。
  3. 看看我上面显示的例子,我错过了什么重要的东西吗?
0 投票
0 回答
966 浏览

android - 为 python-for-android 安装 cffi

我正在尝试使用 buildozer 开发一个带有 kivy+scrapy(或 mechanize)的 android 应用程序。当我在 buildozer.spec 文件的必填字段中添加 scrapy/mechanize 并运行 buildozer android debug 时,pip install 失败并出现以下错误。

android sdk 和 ndk 看起来已经使用 buildozer 成功安装,我也尝试安装 gcc-arm-linux-androideabi,但没有帮助。

我还能做些什么来解决这个问题吗?

这是我为 cffi 添加的食谱。当我添加 requirements=cffi,kivy 时,cffi 确实被编译,但是当我添加 requirements=scrapy,kivy 时,构建失败并出现上述错误。我在 cffi 的 recipe.sh 中添加了日志记录,但日志没有显示,所以我假设该食谱根本没有被执行。我还注意到 cffi 是内置在 virtualenv 中的。这可能是相关的吗?

0 投票
1 回答
1839 浏览

python - VerificationError: CompileError: command 'cc' failed with exit status 1

我正在尝试安装:couchbase-python-cffi作为 PyPi 包的一部分。但是在尝试安装 couchbase-python-cffi 时,我不断收到以下错误:

此错误仅发生在我的 Travis Build 上:https ://travis-ci.org/ardydedase/pycouchbase/jobs/75819605#L541

这是我的 travis 文件的内容:

任何帮助将不胜感激,因为这已经困扰了我很长一段时间。

0 投票
1 回答
3844 浏览

python - ImportError:没有名为 couchbase._libcouchbase 的模块

这仅在 pypy 构建下的 Travis 中发生。这是确切的错误字符串:

我已经在尝试安装 couchbase_cffi,但看起来_libcouchbase.so文件仍然丢失。

构建链接:https ://travis-ci.org/ardydedase/pycouchbase/jobs/75973023#L1782

特拉维斯配置文件:

我确实尝试参考这个线程:https ://forums.couchbase.com/t/installing-couchbase-1-0-0-on-ubuntu/291 ,但我找不到build被引用的文件夹那里。

0 投票
0 回答
338 浏览

python - Python Couchbase CFFI - `AssertionError: backend.__version__ == __version__[:3])`

完整的错误文本:

这只发生在我尝试import couchbase_ffi在 Travis 上构建 PyPy 时:https ://travis-ci.org/ardydedase/pycouchbase/jobs/76043402#L1663

细节:

我的requirements.txtfor中有这个couchbase-python-cffi

看起来是包不兼容的问题。但不确定它来自哪里。