【问题标题】:How to make a Cython module only meant to be cimport'ed by other Cython modules如何制作一个 Cython 模块只意味着由其他 Cython 模块导入
【发布时间】:2017-10-15 04:47:20
【问题描述】:

我想编写一个仅供其他 Cython 模块使用的 Cython 模块。所以它只会包含 cdef(没有 def 或 cpdef)。我看了又看,发现了类似的主题,但不完全是这个。有人可以举个简单的例子吗?非常感谢!

【问题讨论】:

    标签: cython


    【解决方案1】:

    cimport 一个模块,你需要一个.pxd file。在那里,只能出现cdef 级别的声明。

    要成功导入模块,必须在 Python 路径中找到 .pxd 文件,因为 .py 将用于 Python 模块。

    要分发模块,.pxd 文件必须包含在 setup.py 的 package_data 参数中。

    在互联网上很难找到关于这方面的好资源,而且很少有项目真正提供 pxd 文件。 Cython 本身捆绑了其中的一些,这些当然可以在没有特定设置的情况下导入(例如 libc 和 numpy)。

    【讨论】:

    • 谢谢。你能帮我举个小例子吗?
    • 是的,我有一个带有可安装 pxd 声明的 cython 代码:github.com/pdebuyl/threefry
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 2017-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多