我试图让Cython Hello World教程工作并在编译时获得属性错误。
My Hello world program,Python 3.4:
print("Hello World from Cython")
和setupfile,setupCythonHelloWorld.py:
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules = cythonize('helloWorld.pyx')
)
在命令行:
py -m setupCythonHelloWorld.py build_ext --inplace running build_ext
命令行返回并出错:
Error while finding spec for 'setupCythonHelloWorld.py' (<class 'AttributeError'>: 'module' object has no attribute '__path__')
以下是我的计算机上的一些详细信息并安装:
我已经多次卸载并重新安装了所有的Windows编译器,这没什么好玩的。我知道我需要MS C ++ 2010,因为我有Python 3.4,我需要编译器来匹配。 MinGW上有很多信息,但也指导不使用该编译器,因为它与用于Windows的Python不匹配。
最近的重新安装列在&#34; Microsoft Visual C++ 10.0 standalone: Windows SDK 7.1 (x86, x64, ia64)&#34;下。我还尝试了其他一些方法,包括&#34; Compiling Python extensions on Windows的python 3.4部分。&#34;
非常感谢任何帮助。我已经完成了很多安装和卸载各种Windows VS和SDK版本的工作,而且我与7小时前相比并不紧密。感谢。
这与其他一些主题有关:
答案 0 :(得分:0)
好的,我受到了惩罚。我升级到Python 3.5,这使得工作变得更加容易。
就像Compiling Python extensions on Windows的Python 3.5部分所解释的那样简单:
今天我花了9个多小时在Python 3.4上使用MS 2010的Python编译器......并且从来没有让它工作。我使用Python 3.5获得了C ++ 2015 Build Tools和Cython,在一小时内运行Hello World。
如果有人知道如何让它发挥作用,我有兴趣知道。但是,除非我的依赖项出现严重错误,否则我不会再想回到Python 3.4。