python / cython编译pyx:致命错误:capsule.h:没有这样的文件或目录

Posted

技术标签:

【中文标题】python / cython编译pyx:致命错误:capsule.h:没有这样的文件或目录【英文标题】:python/cython compiling pyx: fatal error: capsule.h: No such file or directory 【发布时间】:2015-11-05 02:02:16 【问题描述】:

我最近在一个 python 项目中工作,我需要导入一些 .pyx 文件。

但是,我很难将其导入为 .pyx 并使用以下行进行编译:

import pyximport
pyximport.install()
from . import kl

错误是

fatal error: capsule.h: No such file or directory

而在kl.pyx文件中,capsule.h的用法如下:

cdef extern from "capsule.h":
     void* Capsule_AsVoidPtr(object ptr)

我不确定我应该做什么。请帮我一点忙。

或者,python脚本是否可以直接导入已编译的.c(在Linux中)文件,而不是导入.pyx并编译它? 当我用命令行编译它时,它编译成功,但我不知道我的 IDE(PyCharm)如何导入那个.c 文件。

非常感谢。

【问题讨论】:

【参考方案1】:

你错过了一些库,你需要安装 capsule.h 的源代码。

【讨论】:

以上是关于python / cython编译pyx:致命错误:capsule.h:没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章

OSX 的 Cython 链接错误

关于 .pyx文件的编译和导入

重载 operator() 在 Cython 中失败

.pyx 和 .pxd 文件在子目录中时的 Cython 0.23.4 AttributeError

在Cython中使用pyqt类(.pyx文件)

如何使用 Cython 向 Python 公开返回 C++ 对象的函数?