【发布时间】:2014-04-09 21:39:21
【问题描述】:
我下载了一个 pyx 和 c file from the internet,我只是想知道如何将它合并到 python 中? Cython 上的文档相当模糊,主要侧重于从 py 文件生成 pyx/c。如果您能给我一些有关如何正确执行此操作的可靠示例,那就太好了。非常感谢
【问题讨论】:
我下载了一个 pyx 和 c file from the internet,我只是想知道如何将它合并到 python 中? Cython 上的文档相当模糊,主要侧重于从 py 文件生成 pyx/c。如果您能给我一些有关如何正确执行此操作的可靠示例,那就太好了。非常感谢
【问题讨论】:
Cython 可执行文件将 .pyx 文件转换为 .c 文件。然后,您使用您最喜欢的 C 构建工具将其编译为共享库(例如 Linux 上的 .so 文件)。然后噗,你有一个扩展模块。请注意,您需要弄清楚 C 编译器的所有额外参数,例如 Python 和 numpy 的头文件路径。这些都在很大程度上不仅取决于您的操作系统,还取决于您如何在其上安装 Python 和 SciPy。
如果这一切听起来有点吓人,请查看.pyx 文件是否足够简单,您可以使用pyximport 为您处理所有凌乱的编译。如果需要外部库,您可能需要构建一个.pyxbld 文件。
【讨论】:
Cython 是一个编译器:它将 .pyx 转换为 .c,然后您将其构建为 .so 或 .pyd。看看cython docs on compilation。如果您想修改代码和实验,您可能需要使用 pyximport 模块技术,然后在完成后使用 setup.py 并且您需要 Cython .pyx 模块的最终版本。
【讨论】: