2014-01-21 65 views
3

我一直在使用Python 3.3用Cython与Python 3.3

为我寻找这是一个老问题了,这是我做过什么:

helloworld.pyx

print("Hello world!") 

然后,在IPython的,我所做的:

import pyximport; pyximport.install() 
import helloworld 

它说:

ImportError: Building module helloworld failed: ["ValueError: ['path']\n"]

同样的问题并没有与Python 2.7

发生,我GOOGLE了这一点:https://github.com/cython/cython/wiki/64BitCythonExtensionsOnWindows ,并意识到,我必须安装Windows SDK的Windows 7和.NET Framework 4,由于它带有VC++ 2010年可再分发版,我没有再次单独安装可再分发版。我以为我已经准备好了一切,但导入错误仍然存​​在。

任何人都可以请帮我解决它吗?

谢谢!

-Shawn

+1

你真的需要pyximport吗?看起来,如果将扩展模块作为单独的步骤构建,然后正常导入,错误消息可能会更直观。 – dstromberg

回答

1

安装Windows 7 SDK,然后打开CMD运行: “C:\ Program Files文件\微软的SDK \的Windows \ V7.1 \ BIN \ SetEnv.Cmd”/发行/ 64

然后运行: 蟒蛇setup.py install

1

我有同样的问题,同样的环境(WIN7 64位,蟒蛇-3.3.3 64位)。

我有

  1. 安装了Windows 7 SDK作为维基cython wiki如你没有描述,
  2. 从这个python bug施加补丁(msvccompiler9_33.diff),
  3. 通过定义一个固定的上述补丁丢失变量here
  4. 已安装MS Visual C++ Express 2010(似乎需要)
  5. 已更新t他在Windows 7 SDK中包含“Windows头文件和库”,“工具”,当然还有“Visual C++编译器”MSVC++ 2010可再发行版。

现在我可以编译并导入helloworld.py就好了。