Windows系统下如何使用pip安装mingw-w64编译工具链?
解决pip环境下为PyStan配置MinGW-w64编译链的方法
1. 手动安装MinGW-w64工具链
- 下载MinGW-w64官方安装器,根据你的Python架构选择对应版本:
- 64位Python选
x86_64架构,线程模型选posix,异常模型选seh - 32位Python选
i686架构,线程模型选win32,异常模型选sjlj
- 64位Python选
- 安装时勾选
gcc、g++、make核心编译工具,安装路径避免中文和空格(推荐C:\mingw64) - 将MinGW的
bin目录(如C:\mingw64\bin)添加到系统PATH环境变量,重启终端后执行gcc --version验证安装成功
2. 生成适配MinGW的Python导入库
conda的libpython是专为MinGW编译的Python导入库,pip环境下需手动生成:
- 找到Python安装目录
Libs文件夹下的pythonXX.lib(XX为版本号,如Python3.10对应python310.lib) - 用MinGW的
pexports工具生成.def文件(若没有pexports,可通过MinGW包管理器安装):pexports pythonXX.dll > pythonXX.def - 再用
dlltool生成.a格式的导入库:dlltool -D pythonXX.dll -d pythonXX.def -l libpythonXX.a - 将生成的
libpythonXX.a复制到MinGW的lib目录(如C:\mingw64\lib)
3. 配置PyStan使用MinGW编译
- 设置环境变量指定编译器:
# cmd环境 set CC=gcc set CXX=g++ set CPP=g++ -E # PowerShell环境 $env:CC="gcc" $env:CXX="g++" $env:CPP="g++ -E" - 执行pip安装PyStan,此时会自动调用MinGW工具链编译:
pip install pystan - 若出现链接错误,可在编译参数中添加
-lpythonXX指定链接库,确保导入库路径被编译器识别
4. 简化替代方案
若手动配置繁琐,可直接寻找第三方预编译的PyStan wheel包(适配Windows+MinGW),通过pip直接安装,跳过编译环节
内容的提问来源于stack exchange,提问作者NonSleeper
相关产品推荐
相关产品推荐

