我正在使用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
文件维基告诉我。
答案 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!