AttributeError在Windows上32位的Cython 3.4中编译Hello World

时间:2017-04-30 20:53:29

标签: windows cython python-3.4 32-bit

我试图让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__')

以下是我的计算机上的一些详细信息并安装:

  1. Windows 7,64位。 (我在使用训练营的Macbook Pro上,但这不重要)
  2. Python 3.4,32位版本
  3. 模块的常规安装,主要来自车轮。没有Anaconda或Python(x,y)。
  4. 我已经多次卸载并重新安装了所有的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小时前相比并不紧密。感谢。

    这与其他一些主题有关:

    • SO&#34; ValueError:[&#39;路径&#39;]发布,但它可能是64位(抱歉没有链接,我没有足够的积分发布更多超过2个链接)
    • 很多其他cython安装帖子,但似乎都与其他系统有关,包括64位,linux,非Python 3.4版本......

1 个答案:

答案 0 :(得分:0)

好的,我受到了惩罚。我升级到Python 3.5,这使得工作变得更加容易。

就像Compiling Python extensions on Windows的Python 3.5部分所解释的那样简单:

  1. 安装Visual C ++ 2015构建工具
  2. Cython Hello World编译并运行。容易。
  3. 今天我花了9个多小时在Python 3.4上使用MS 2010的Python编译器......并且从来没有让它工作。我使用Python 3.5获得了C ++ 2015 Build Tools和Cython,在一小时内运行Hello World。

    如果有人知道如何让它发挥作用,我有兴趣知道。但是,除非我的依赖项出现严重错误,否则我不会再想回到Python 3.4。