我尝试在页面中运行示例:
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个示例?
答案 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软件包编译。)