MSYS2的C/C++,python2,python3编译环境安装脚本
1. 介绍
该脚本是一款针对MSYS2 MinGW 64-bit环境 的一键部署脚本,核心目标是快速搭建包含C/C++编译环境、Python2、Python3及相关依赖工具的开发环境,全程自动化执行,无需手动干预。
2. 注意事项
网络要求:执行前需保证网络通畅,脚本依赖网络下载系统包和Python2离线包;
权限要求:需以足够权限运行(如MSYS2终端默认权限),避免文件读写 / 安装失败;
环境唯一性:仅适用于MSYS2 MinGW 64-bit,32 位或其他 Linux 子系统(如WSL)不兼容;
Python2 版本:固定为2.7.18,是Python2的最终稳定版,满足老旧项目的兼容需求。
系统更新:如果经常更新系统基础包,请注意使用安装脚本里的pacman -Syu --ignore=mingw-w64-x86_64-python2 --noconfirm该条命令进行更新,防止Python2其被系统更新删除。
如果想下载其他包,各位可自行在 MSYS2 的源中进行查找,或者换成自行替换为其他的镜像源,我在为各位提供了 MSYS2 的源的下来链接,可以自己点击CTRL+F进行网页搜索,可能因为MSYS2资源网站资源有点多所以会有些卡顿
3. 安装脚本
该脚本只需要运行MSYS2 MINGW64创建一个脚本,运行即可
#!/bin/bash# MSYS2 一键部署脚本# 功能:安装 C/C++ 编译环境、Python2、Python3 及所有依赖工具# 适用环境:MSYS2 MinGW 64-bit# 注意:执行前请确保网络正常,脚本会自动下载并安装所有包# 遇到错误立即退出脚本,保证执行安全set-e# 清屏优化输出clear# ==============================================# 阶段 1:更新系统(不升级 Python2,避免被删除)# ==============================================echo"============================================="echo" 正在更新系统基础包..."echo"============================================="pacman-Syu--ignore=mingw-w64-x86_64-python2--noconfirm# ==============================================# 阶段 2:安装 C/C++ 编译工具链# ==============================================echo-e"\n============================================="echo" 正在安装 C/C++ 开发工具(gcc/gdb/make/cmake)"echo"============================================="pacman-S--noconfirm\mingw-w64-x86_64-gcc\mingw-w64-x86_64-gdb\mingw-w64-x86_64-make\mingw-w64-x86_64-cmake\mingw-w64-x86_64-binutils\base-develecho" 准备 Windows 使用的 make 工具"cp/mingw64/bin/mingw32-make.exe /mingw64/bin/make.exe# ==============================================# 阶段 3:安装 Python3 环境# ==============================================echo-e"\n============================================="echo" 正在安装 Python3 环境"echo"============================================="pacman-S--noconfirm\mingw-w64-x86_64-python\mingw-w64-x86_64-python-pip\mingw-w64-x86_64-python-setuptools\mingw-w64-x86_64-python-wheel# ==============================================# 阶段 4:下载 Python2 全套离线包# ==============================================echo-e"\n============================================="echo" 正在下载 Python2.7.18 相关包"echo"============================================="cd~wgethttps://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-python2-2.7.18-8-any.pkg.tar.zstwgethttps://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-python2-pip-20.3.4-1-any.pkg.tar.zstwgethttps://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-python2-setuptools-44.1.1-2-any.pkg.tar.zstwgethttps://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-python2-cairo-1.18.2-4-any.pkg.tar.zstwgethttps://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-python2-gobject-3.34.0-4-any.pkg.tar.xzwgethttps://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-pygobject2-devel-2.28.7-5-any.pkg.tar.zstwgethttps://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-python2-gobject2-2.28.7-5-any.pkg.tar.zstwgethttps://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-python2-pygtk-2.24.0-8-any.pkg.tar.zst# ==============================================# 阶段 5:安装 Python2 及 GUI 依赖# ==============================================echo-e"\n============================================="echo" 正在安装 Python2 及 GUI 组件"echo"============================================="pacman-U--noconfirm\mingw-w64-x86_64-python2-*.pkg.tar.zst\mingw-w64-x86_64-python2-*.pkg.tar.xz\mingw-w64-x86_64-pygobject2-devel-*.pkg.tar.zst# ==============================================# 阶段 6:清理安装包,释放空间# ==============================================echo-e"\n============================================="echo" 清理安装包文件"echo"============================================="rm-f~/*.pkg.tar.zst ~/*.pkg.tar.xz# ==============================================# 阶段 7:锁定 Python2,防止系统更新删除# ==============================================echo-e"\n============================================="echo" 锁定 Python2 包,防止被更新卸载"echo"============================================="sed-i'/^IgnorePkg/ s/$/ mingw-w64-x86_64-python2/'/etc/pacman.conf# ==============================================# 阶段 8:输出版本信息,验证安装结果# ==============================================echo-e"\n============================================="echo" 安装完成!当前环境版本信息"echo"============================================="echo-e"\n--- C/C++ 工具 ---"gcc--version|head-n1make--version|head-n1echo-e"\n--- Python 版本 ---"python2--versionpython3--versionecho-e"\n--- PIP 版本 ---"pip2--version|head-n1pip3--version|head-n1echo-e"\n============================================="echo" ✅ 所有环境部署成功!"echo"============================================="