Cython示例失败

时间:2018-05-02 06:15:10

标签: python cython

我尝试在页面中运行示例:

http://cython.readthedocs.io/en/latest/src/tutorial/cython_tutorial.html#the-basics-of-cython

使用Visual Studio 2017和python 3.53 x64在Windows 10上

编译还可以。但是当我尝试将生成的pyd(dll)导入Python 3.53(x64)时,我收到错误。

生成的pyd文件和其余文件都在同一个文件夹中。

有没有人设法使用Visual Studio 2017在Python 3.5下的上述链接中成功运行这3个示例?

1 个答案:

答案 0 :(得分:1)

问题在于您没有正确导入模块。

就像使用import spam而不是import spam.py一样,对于Python模块,您使用import spam,而不是import spam.cp35-win_amd64作为扩展模块。

请注意,您链接的示例是这样的:

>>> import helloworld
Hello World

如果您想知道为什么会出现错误:-字符不是名称的一部分,它是算术运算符。所以你告诉它你要从包cp35 - win_amd64导入模块spam,这使得解析器感到困惑,所以它给了你一个SyntaxError

因为您询问了您的特定工具集:是的,这些工具集合在一起。实际上,正如文档on the wiki所述,python.org中的所有Python 3.5安装程序都是使用Visual C ++ 14.0构建的,它是Visual Studio 2017附带的编译器,并带有可以自动检测的distutils并使用它。 (如果您有setuptools的旧版本 - 键入pip show setuptools以查看版本号是否至少为34.4.0 - 它可能会导致问题,但这些问题会阻止Cython软件包编译。)