我对 Cython 没有太多经验,但从他们文档中的这个条目来看,推荐的工作流程是有一个setup.py
包含以下行的文件:
from distutils.core import setup
from Cython.Build import cythonize
setup(name='Hello world app', ext_modules=cythonize("hello.pyx"))
这hello.pyx
只是一个示例文件,您必须替换字符串才能引用您的 Python 脚本。
之后你就可以打电话了
python setup.py build_ext --inplace
这将编译您的代码并为您留下一个新文件。现在,只要该文件位于同一目录中,您就可以轻松导入您在文件中定义的内容,就像使用任何其他模块一样。hello.pyx
例如,假设你用函数编译了一个文件f
,你可以这样写:
from hello import f
然后继续使用f
。
现在,关于您的其他问题。.pyx
似乎只是表明,这应该是 Cython 代码,没有真正的区别。使用setup.py
如上所述的脚本方法,您还可以引用以 . 结尾的文件.py
。但是,Python 不允许您从.pyx
文件中导入,只能从编译后创建的文件中导入。
至于如何调试文件中的代码.pyx
,我没有足够的信息,尽管您可能只是像调试文件一样调试非编译.py
文件。