[英]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.