问题标签 [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.
python - Python CFFI 的内存管理和析构函数/free() 的约定?
如果我要包装一个 C 类:
确保lib.MyClass_destroy(…)
调用的最佳实践是什么?
当 Python 对象被 GC 处理时,确实cffi
有一些对象包装器会调用析构函数,例如:
或者那个析构函数逻辑应该在类的__del__
?就像是:
这里有哪些最佳实践?
python - 如何在开发过程中构建 Python CFFI 模块?
在开发过程中构建 CFFI 模块的最佳实践是什么?
现在我正在使用 Makefile:
然后测试我可以使用:
但这似乎不是最理想的。在开发过程中是否有更好的方法来构建 CFFI 模块?
python - 获取指向 Theano 生成的函数的 C 指针?
我想使用 C/Fortran 代码中的 Theano 函数(特别是,我想使用用 Fortran 编写的隐式 ODE 求解器和在 Theano 中创建的函数)。有没有关于如何做到这一点的示例/资源?
django - 如何在 AWS Beanstalk 上安装 cffi 包
这个问题看起来和这篇文章一样,但由于没有答案,我在这里重新提问。
我有一个 Django 项目要部署在 AWS Beanstalk 上,它使用的是 package cffi
。当我运行eb deploy
时,错误日志如下所示:
我可以说 AWS 寻找libffi
没有成功。但是,我该如何安装它?我尝试了上面链接中的解决方法,但也没有工作。
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?
python - 使用 Python 的 CFFI 并排除系统头文件
我正在尝试使用Python 的 CFFI开发 Python 绑定到用 C 编写的科学模型。CFFI 文档有点稀疏,我被困在了这个cdef
阶段。
到目前为止,我的流程遵循以下步骤:
预处理头文件:
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>用于
cffi
解析预处理的头文件:这将返回以下错误(完整的回溯在这里):
/li>
鉴于我所处的位置,对于那些比我更熟悉 cffi 的人,我有几个问题:
- 是否可以让预处理器排除系统头文件?
cffi
有人知道比文档中显示的更复杂的任何示例吗?现实世界的例子会有所帮助。- 看看我上面显示的例子,我错过了什么重要的东西吗?
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 中的。这可能是相关的吗?
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 文件的内容:
任何帮助将不胜感激,因为这已经困扰了我很长一段时间。
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
被引用的文件夹那里。
python - Python Couchbase CFFI - `AssertionError: backend.__version__ == __version__[:3])`
完整的错误文本:
这只发生在我尝试import couchbase_ffi
在 Travis 上构建 PyPy 时:https ://travis-ci.org/ardydedase/pycouchbase/jobs/76043402#L1663
细节:
我的requirements.txt
for中有这个couchbase-python-cffi
:
看起来是包不兼容的问题。但不确定它来自哪里。