python源码编译 mingw_windows下使用mingw编译python扩展模块
Windows下用MinGW编译Python扩展:安装Python2.7.2和MinGW20120426,将MinGW的bin加入PATH,设置distutils.cfg编译器为mingw32,删除cygwinccompiler.py中的-mno-cygwin参数,即可通过setup.py或pip编译C扩展。
在 Windows 环境下用 MinGW 编译 Python 扩展模块,这件事说难不难,但细节确实不少。下面把操作步骤拆开来讲清楚,省得大家再去翻一堆零零散散的资料。

准备工作
先确认两个基础软件安装到位:Python 2.7.2 和 MinGW 20120426。Python 的安装路径下文统一称为 PYTHON_HOME,MinGW 的安装路径称为 MINGW_HOME。至于 MinGW 怎么装,网上有现成的教程,这里就不赘述了。
核心操作:修改全局 Python 默认编译器
要把 MinGW 设为 Python 的默认 C 编译器,需要动三个地方。
第一步:把编译器加进系统路径
将 MINGW_HOME\bin 目录添加到系统环境变量 PATH 中。这一步是为了让命令行能直接找到 gcc 和 g++ 等工具。
第二步:创建或修改配置文件
找到 PYTHON_HOME\Lib\distutils\distutils.cfg。如果文件不存在,就手动新建一个。在里面写这几行:
[build]
compiler = mingw32
这样一来,Python 的 distutils 在构建扩展时就会调用 MinGW 而不是默认的 Visual C++。
第三步:处理过时的编译参数
打开 PYTHON_HOME\Lib\distutils\cygwinccompiler.py,找到所有包含 -mno-cygwin 的行。GCC 4.6 以后的版本已经去掉了这个参数,如果不删除它,编译时会报“unrecognized command line option”的错误。把 -mno-cygwin 替换成空字符串即可。如果你装了 sed,一行命令搞定:
cd PYTHON_HOME\Lib\distutils
cp cygwinccompiler.py cygwinccompiler.py.bak
sed -i 's# -mno-cygwin##g' cygwinccompiler.py
完成后,你就可以用 python setup.py build 或 pip install 来编译 C 扩展,背后用的就是 MinGW 了。整个过程并不复杂,只要版本对应好,基本不会出岔子。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















