我是 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 模块。我添加了一个helpers.pxd
in path/to
为了促进这一点,但是当我尝试cimport path.to.helpers
, I get
path/to/helpers.pxd not found
错误。我需要改变一些东西吗?setup.py
文件允许cimport
正在从*.pxd
file?
我发现的文档都没有提到这样做,而且我觉得我已经尝试了所有方法但没有任何运气。有想法吗?
经过几个小时的头撞后终于解决了这个问题。*.pxd
文件更加挑剔path
than *.pyx
事实证明。我不知道为什么。无论如何,只需将路径添加到我的*.pxd
文件解决了问题。我的setup.py
for path/to/helpers.*
保持不变,但每当我使用任何其他*.pyx
需要访问的文件path.to.helpers
,我确定路径path/to/helpers
被包含为include-dir
, like:
cython *.pyx *.pxd -a --cplus --include-dir ../some/path
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)