Windows上的Cython pyximport错误

时间:2009-06-03 08:34:41

标签: mingw cython

我正在使用Cython开始我的第一步,并且已根据维基中的instructions将其安装在我的机器上。

通过Cython教程,我得到pyximport,这应该使cython编译变得非常简单。但是,当我尝试使用它时,我收到以下错误消息(重新格式化):

ImportError: Building module failed: 
DistutilsPlatformError('
    Python was built with Visual Studio 2003;
    extensions must be built with a compiler than can generate compatible binaries.
    Visual Studio 2003 was not found on this system. If you have Cygwin installed,
    you can try compiling with MingW32, by passing "-c mingw32" to setup.py.',)

所以我的问题是:有人知道如何让pyximport使用mingw吗?

请注意,mingw似乎安装得很正常,使Cython模块(使用setup.py)很长的工作方式,我甚至创建了一个distutils.cfg文件维基告诉我。

3 个答案:

答案 0 :(得分:12)

我最近乱搞并发现了pyximport.install的setup_args参数。这对我有用:

mingw_setup_args={'options': {'build_ext': {'compiler': 'mingw32'}}}
import pyximport; pyximport.install(setup_args=mingw_setup_args)

答案 1 :(得分:10)

maybe this way (from mail list)

C:\ Python2x \ LIB \的distutils \ distutils.cfg:

[build]
compiler = mingw32

[build_ext]
compiler = mingw32 

答案 2 :(得分:1)

您还可以在家中创建“ pydistutils.cfg ”文件,以便获得以下任一路径: “ C:\ Documents and Settings \ YourUsername \ pydistutils.cfg ”或“ C:\ Users \ YourUsername \ pydistutils.cfg ”。

然后添加:

<强> [build_ext]

<强>编译器的mingw32 =

到那个文件。还要确保你的路径上有“MinGW”的gcc。 从那时起,当你使用“import pyximport; pyximport.install()”时, cython应该在你的主文件夹下生成一个名为“.pyxbld”的文件夹(参见上文)。 在Windows上,此文件夹将包含cython生成的所有“ .c,.o,.pyd,.def ”文件。

快乐的cythoning!