gpt4 book ai didi

python - 为什么我的 Cython cimport 无法导入 pxd 文件?

转载 作者:行者123 更新时间:2023-11-28 18:31:39 32 4
gpt4 key购买 nike

我是 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 文件中的某些内容以允许从 *.pxd 文件中进行 cimport 操作?

我找到的所有文档都没有提及如何执行此操作,而且我觉得我已经尝试了所有方法但没有任何运气。想法?

最佳答案

经过几个小时的撞击,我终于解决了这个问题。事实证明,*.pxd 文件对 path 的要求比 *.pyx 文件要严格得多。我不知道为什么。无论如何,只需将路径添加到我的 *.pxd 文件即可解决问题。我的 setup.py for path/to/helpers.* 保持不变,但每当我使用任何其他 *.pyx 文件时需要访问 path.to.helpers,我确保 path/to/helpers 的路径包含在 include-dir 中,例如:

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

关于python - 为什么我的 Cython cimport 无法导入 pxd 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36612483/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com