Python 为什么';我的Cython cimport不支持pxd文件工作吗?
我是cython的新手,所以我可能遗漏了一些明显的东西,但我已经阅读了文档,并且在一段时间内一直在用我的头来打击它 我使用setup.py文件构建了一个pyx文件,如下所示:Python 为什么';我的Cython cimport不支持pxd文件工作吗?,python,cython,distutils,Python,Cython,Distutils,我是cython的新手,所以我可能遗漏了一些明显的东西,但我已经阅读了文档,并且在一段时间内一直在用我的头来打击它 我使用setup.py文件构建了一个pyx文件,如下所示: from distutils.core import setup from Cython.Build import cythonize setup( ext_modules=cythonize("path/to/helpers.pyx"), ) 这很好,我现在可以从姐妹目录和子目录中导入path.to.help
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules=cythonize("path/to/helpers.pyx"),
)
这很好,我现在可以从姐妹目录和子目录中导入path.to.helpers,而不会出现任何问题
现在,最近我决定还要添加一个
helpers.pxd
文件,这样我就可以将它的一部分导入其他cython模块。我在path/to
中添加了一个helpers.pxd以便于执行此操作,但当我尝试cimport path.to.helpers
时,我发现path/to/helpers.pxd未找到
错误。我是否需要更改setup.py中的某些内容以允许从pxd进行cimporting?我所找到的医生中没有一个说要做这件事,我觉得我什么都试过了,运气都不好。想法?在我的头撞了几个小时后,终于解决了这个问题。事实证明,PXD在路径方面比PYX更加挑剔。我不知道为什么。不管怎样,只需将路径添加到我的pxd即可解决问题。我的path/to/helpers的setup.py
。
保持不变,但每当我使用需要访问path.to.helpers的任何其他PYX时,我都会确保path/to/helpers
的路径包含在包含目录中,如:
cython*.pyx*.pxd-a--cplus--include dir../some/path
尝试向路径/to/
目录中添加\uu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuupy
。我相信这对distutils有效