在 Windows 上使用 mingw 编译扩展模块

日期2008-05-31(最后修改),2007-11-26(创建)

先决条件

  1. Python 2.5(在早期版本的 Python 中,使用 mingw 编译扩展要复杂得多。如果你无法升级到 Python 2.5,请使用 Visual Studio 2003)
  2. 你机器上的本地管理员权限

编译器设置

  1. 访问 www.mingw.org 并进入网站的“下载”部分。查找指向 SourceForge 页面的链接并访问该页面。获取最新版本的“Automated MinGW Installer”并运行安装程序。
  2. 当询问你想要安装哪个 MinGW 包时,选择“Current”或“Candidate”,具体取决于你是否想要使用最新版本。
  3. 当你进入需要选择要安装的各种组件的部分时,请包含“base tools”和“g++ compiler”,如果你要编译一些使用 Fortran 的扩展,还可以包含 g77 编译器。
  4. 安装到“C:\MinGW”(默认位置)
  5. 如果安装程序没有为你添加“C:\MinGW\bin”,请将其添加到你的 PATH 环境变量中。如果你运行的是 Vista,你还需要将“C:\MinGW\libexec\gcc\mingw32\3.4.5”添加到你的 PATH 中。
  6. 在记事本(或你喜欢的文本编辑器)中创建一个新文本文件,并在文件中输入以下内容

    [build]
    compiler = mingw32
  7. 将文件保存为“C:\Python25\Lib\distutils\distutils.cfg”。这将告诉 python 在编译扩展时使用 MinGW 编译器

  8. 关闭所有打开的命令提示符(需要重新打开才能查看新的环境变量值)

编译扩展(通过 distutils)

注意:这仅适用于具有使用 distutils 的 setup.py 脚本的模块

  1. 假设您已将某个模块的代码下载到文件夹“xyz”。打开一个命令提示符并 cd 到此目录(例如,键入“c:”然后按回车键切换到 C 盘,然后键入“cd c:\xyz”切换到目录 xyz)
  2. 要创建二进制安装程序,请键入“python setup.py bdist_wininst”
  3. 如果一切正常,那么现在应该有一个名为“dist”的子文件夹,其中包含一个可以运行的 exe 文件来安装模块。

章节作者:MattKnox