使用Cython导入外部文件

1 投票
2 回答
610 浏览
提问于 2025-04-18 02:06

我在网上下载了一个pyx和c文件,现在想知道怎么把它们用到Python里。Cython的文档写得有点模糊,主要是讲怎么从py文件生成pyx/c文件。如果你能给我一些具体的例子,教我怎么正确地做这件事,那就太好了,非常感谢!

2 个回答

0

Cython这个工具可以把一个.pyx文件变成一个.c文件。接着,你可以用自己喜欢的C语言编译工具把它编译成一个共享库(比如在Linux上是.so文件)。这样一来,你就得到了一个扩展模块。不过,你需要搞清楚一些额外的参数,比如Python和numpy的头文件路径。这些参数不仅和你的操作系统有关,还和你是怎么安装Python和SciPy的有很大关系。

如果这些听起来让你有点害怕,可以看看.pyx文件是否简单到可以用pyximport来帮你处理这些复杂的编译工作。如果需要用到外部库,你可能还需要创建一个.pyxbld文件。

0

Cython 是一个编译器,它的作用是把一个 .pyx 文件转换成 .c 文件,然后你再把这个 .c 文件编译成 .so 或 .pyd 文件。如果你想了解更多,可以看看 Cython 的编译文档。如果你想修改代码并进行实验,建议使用 pyximport 模块,这样会比较方便。等你完成了所有修改,想要一个最终版本的 Cython .pyx 模块时,就可以使用 setup.py 来进行编译。

撰写回答