繁体   English   中英

为什么我的 Cython cimport 对 pxd 文件不起作用?

[英]Why doesn't my Cython cimport for a pxd file work?

我是 Cython 的新手,所以我可能会遗漏一些明显的东西,但我已经通读了文档,并且一直在反对这一点。

我有一个*.pyx文件,我使用setup.py文件构建,如下所示:

from distutils.core import setup
from Cython.Build import cythonize

setup(
    ext_modules=cythonize("path/to/helpers.pyx"),
)

这工作正常,我现在可以从姐妹目录和子目录import path.to.helpers没有任何问题。

现在,最近我决定我要添加一个helpers.pxd文件为好,这样我就可以cimport到其他用Cython模块的某些部分。 我在path/to添加了一个helpers.pxd来促进这一点,但是当我尝试cimport path.to.helpers ,我得到

path/to/helpers.pxd not found

错误。 我需要改变的东西在我的setup.py文件,以允许cimport从荷兰国际集团*.pxd文件?

我发现的所有文档都没有说明这样做,而且我觉得我已经尝试了一切但没有任何运气。 想法?

经过几个小时的撞击,终于解决了这个问题。 *.pxd文件是更挑剔path*.pyx文件,事实证明。 我不知道为什么。 无论如何,只需将路径添加到我的*.pxd文件即可解决问题。 我用于path/to/helpers.* setup.py保持不变,但是每当我使用任何其他需要访问path.to.helpers *.pyx文件时,我都会确保path/to/helpers是作为一个include-dir ,例如:

cython *.pyx *.pxd -a --cplus --include-dir ../some/path

尝试将__init__.py添加到您的path/to/目录。 我相信这适用于 distutils。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM