【笔记】在 MSYS2(MINGW64)中安装 Python 工具链的记录

article/2025/8/4 7:49:52

#工作记录

📌 安装背景

  • 操作系统:MSYS2 MINGW64
  • 当前时间:2025年6月1日
  • Python 版本:3.12(默认通过 pacman 安装)
  • 目标工具链
    • pipx
    • numpy
    • pip
    • setuptools
    • wheel

🛠️ 安装过程与结果记录

1. 尝试安装 mingw-w64-x86_64-python-pipx —— ❌ 失败

pacman -S mingw-w64-x86_64-python-pipx

 

错误信息:
error: failed to commit transaction (conflicting files)
mingw-w64-x86_64-python-colorama: 文件已存在于文件系统中。
原因分析:
  • colorama 库已经被 pip 安装过,而 pacman 安装时检测到冲突文件。
  • MSYS2 的 pacman 和 pip 管理的包路径冲突。
解决建议:
  • 使用 pip 安装 pipx(推荐):
    pip install pipx
  • 或强制覆盖安装(谨慎):
    pacman -S mingw-w64-x86_64-python-pipx --force

2. 安装 mingw-w64-x86_64-python-numpy ✅ 成功(重新安装)

pacman -S mingw-w64-x86_64-python-numpy

 

  • 版本:2.2.6-1
  • 安装类型:Reinstall
  • 安装大小:52.19 MiB
  • 结果:成功

3. 安装 mingw-w64-x86_64-python-pip ✅ 成功(重新安装)

pacman -S mingw-w64-x86_64-python-pip

 

  • 版本:25.1.1-1
  • 安装类型:Reinstall
  • 安装大小:13.63 MiB
  • 结果:成功

4. 安装 mingw-w64-x86_64-python-setuptools ✅ 成功(重新安装)

pacman -S mingw-w64-x86_64-python-setuptools

 

  • 版本:78.1.0-1
  • 安装类型:Reinstall
  • 安装大小:13.23 MiB
  • 结果:成功

5. 安装 mingw-w64-x86_64-python-wheel ✅ 成功

pacman -S mingw-w64-x86_64-python-wheel

 

  • 版本:0.45.1-1
  • 下载大小:0.10 MiB
  • 安装大小:0.36 MiB
  • 结果:成功

🧾 总结

工具是否成功版本号备注
pipx❌ 失败N/A与 pip 安装的库冲突
numpy✅ 成功2.2.6-1重新安装
pip✅ 成功25.1.1-1重新安装
setuptools✅ 成功78.1.0-1重新安装
wheel✅ 成功0.45.1-1正常安装

💡 建议与后续操作

🔁 解决 pipx 安装失败的方法

  1. 使用 pip 安装 pipx(推荐方式)

    pip install pipx
    pipx ensurepath
  2. 设置环境变量(如提示找不到命令)

     

    添加 pipx 到 PATH:

    export PATH="$HOME/.local/bin:$PATH"

    可将该行写入 ~/.bashrc 中永久生效:

    echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
    source ~/.bashrc
  3. 验证 pipx 是否可用

    pipx --version

📋 验证所有安装是否正常

你可以运行以下命令确认各组件是否正常工作:

python --version
pip --version
pipx --version
python -c "import numpy; print(numpy.__version__)"
python -c "import setuptools; print(setuptools.__version__)"
python -c "import wheel; print(wheel.__version__)"

📦 补充说明

  • pacman vs pip
    • pacman 是 MSYS2 的官方包管理器,适合安装系统级依赖。
    • pip 是 Python 的包管理器,更适合安装纯 Python 包。
    • 若发生文件冲突,建议优先用一种方式管理包,避免混用。

🧩 后续建议

如果你计划开发 Python 项目,可以考虑:

  • 创建虚拟环境:

    python -m venv venv
    source venv/bin/activate
  • 使用 pipx 安装 CLI 工具,如 black, ruff, poetry 等:

    pipx install black
    pipx install poetry


http://www.hkcw.cn/article/OQjYioljrv.shtml

相关文章

sqli-labs靶场32-37关(宽字节注入)

目录 前言 less32(宽字节注入) less33(宽字节注入) less34(POST型宽字节注入) less35(数字型闭合宽字节) less36(宽字节注入) less37(POST…

SRE 基础知识:在站点可靠性工程中可以期待什么

作者:来自 Elastic Elastic Observability Team 在过去的 20 年里,大多数领先企业已经采用云计算和分布式系统来开发它们的应用程序。一个意想不到的后果是:传统的 IT 运维( IT operations - ITOps )常常难以应对日益增…

day16 leetcode-hot100-31(链表10)

25. K 个一组翻转链表 - 力扣(LeetCode) 1.模拟法 思路 将这个过程拆解为两个步骤,第一步将单分组的节点反转,第二步将反转后的链表加入原链表。 针对节点反转很容易,参考之前的206. 反转链表 - 力扣(Le…

黑马Java面试笔记之Redis篇(使用场景)

1.面试题 我看你做的项目中,都用到了redis,你在最近的项目中那些场景使用了redis呢 2.提问的底层逻辑 面试官提问你这个问题一是想验证你的项目场景的真实性,二是为了作为深入发问的切入点 3.延伸出来的知识点 3.1 缓存 缓存三兄弟&#x…

PyTorch -TensorBoard的使用 (一)

设置环境 新建python文件 .py 安装Tensorboard 在终端进行安装 显示安装成功 两个logs,出现这种情况怎么解决 所有的logs文件删掉delete,重新运行 add_image 不满足要求 Opencv-numpy 安装Opencv add_image 用法示例 (500,375&am…

解决Ubuntu20.04上Qt串口通信 QSerialPort 打开失败的问题

运行Qt串口通信 open(QIODevice::ReadWrite) 时,总是失败。 1、打印失败原因 QString QSerialHelper::openSerail() {if(this->open(QIODevice::ReadWrite) true){return this->portName();}else{return "打开失败";//return this->errorStri…

[yolov11改进系列]基于yolov11引入迭代注意力特征融合iAFF的python源码+训练源码

【iAFF介绍】 1. IAFF(迭代注意力特征融合) iAFF通过引入多尺度通道注意力模块和迭代融合,更好的整合不同尺度和语义不一致的特征,有效解决特征融合问题,提高目标检测的精度。 特征融合,即不同层或分支的…

springboot-响应接收与ioc容器控制反转、Di依赖注入

1.想将服务器中的数据返回给客户端,需要在controller类上加注解:ResponseBody; 这个注解其实在前面已经使用过,RestController其实就包含两个注解: Controller ResponseBody 返回值如果是实体对象/集合,将会转换为j…

idea中springboot2.7(由于步入另一个线程,已跳过 xxx 处的断点)

idea springboot2.7 debug 问题 springboot 2.7 debug 模式时引入 spring-boot-devtools 卡在代码中不往下执行&#xff0c;提示&#xff1a;由于步入另一个线程&#xff0c;已跳过 xxx 处的断点。 原因 springboot 2.7 引入 spring-boot-devtools <!-- debug时不推荐开…

ROS应用之如何配置RTOS满足机器人系统中的实时要求

如何配置RTOS以满足机器人系统中的实时要求 前言 实时操作系统&#xff08;RTOS&#xff09;在机器人系统中的应用至关重要&#xff0c;尤其在需要对环境变化做出快速反应的高精度控制系统中。ROS2作为开源机器人操作系统&#xff0c;为机器人提供了强大的框架和工具链&#x…

03 APP 自动化-定位元素工具元素定位

文章目录 一、Appium常用元素定位工具1、U IAutomator View Android SDK 自带的定位工具2、Appium Desktop Inspector3、Weditor安装&#xff1a;Weditor工具的使用 4、uiautodev通过定位工具获取app页面元素有哪些属性 二、app 元素定位方法 一、Appium常用元素定位工具 1、U…

数学分析——一致性(均匀性)和收敛

目录 1. 连续函数 1.1 连续函数的定义 1.2 连续函数的性质 1.2.1 性质一 1.2.2 性质二 1.2.3 性质三 1.2.4 性质四 2. 一致连续函数 2.1 一致连续函数的定义 2.2 一致连续性定理(小间距定理)(一致连续函数的另一种定义) 2.3 一致连续性判定法 2.4 连…

并发执行问题 (上)

S3和S4 没法区别 i存在 父进程数据区 子进程存在数据区 所以返回值不一样 通过返回值运行不一样的代码 原来的进程镜像作废,运行的执行新的elf文件

一周学会Pandas2之Python数据处理与分析-数据重塑与透视-pivot_table() - 透视表 (长 -> 宽,支持聚合)

锋哥原创的Pandas2 Python数据处理与分析 视频教程&#xff1a; 2025版 Pandas2 Python数据处理与分析 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili pivot_table() 是 pandas 中最强大的数据透视工具&#xff0c;它不仅能重塑数据&#xff0c;还能进行复杂的数据聚合…

郑钦文抢七险胜萨姆索诺娃 首次闯进法网八强

6月1日,在2025年法国网球公开赛女单第四轮比赛中,赛会8号种子、中国选手郑钦文以2:1战胜俄罗斯选手萨姆索诺娃,首次闯进法网女单八强。这场比赛耗时2小时47分钟,双方在场上展开了激烈的争夺。首盘比赛双方陷入苦战,郑钦文通过更深的落点限制对手进攻,并且在多拍回合中展现…

robot_lab学习笔记【MDP综述】

文章目录 整体介绍第一部分第二部分第三部分总结 整体介绍 在robot_lab中的mdp文件夹下面包含6个文件&#xff1a;[init.py , commands.py , curiculums.py, events.py , observations.py , rewards.py ] 对每个部分的详细讲解在总结中会指向子链接 init.py文件的代码如下 …

Leetcode 2093. 前往目标城市的最小费用

1.题目基本信息 1.1.题目描述 一组公路连接 n 个城市&#xff0c;城市编号为从 0 到 n - 1 。 输入包含一个二维数组 highways &#xff0c;其中 highways[i] [city1i, city2i, tolli] 表示有一条连接城市 city1i 和 city2i 的双向公路&#xff0c;允许汽车缴纳值为 tolli 的…

【C++】模板与特化技术全面教程(claude sonnet 4)

第一章&#xff1a;模板的基础概念 (Template Fundamentals) 1.1 什么是模板&#xff1f; 模板 (Template) 是C中的一种泛型编程 (Generic Programming) 机制&#xff0c;它允许我们编写与类型无关的代码。想象一下&#xff0c;如果我们要为不同的数据类型编写相同逻辑的函数&a…

VBA数据库解决方案二十:Select表达式From区域Where条件Order by

《VBA数据库解决方案》教程&#xff08;版权10090845&#xff09;是我推出的第二套教程&#xff0c;目前已经是第二版修订了。这套教程定位于中级&#xff0c;是学完字典后的另一个专题讲解。数据库是数据处理的利器&#xff0c;教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法…

【2025最新】Java图书借阅管理系统:从课程作业到实战应用的完整解决方案

【2025最新】Java图书借阅管理系统&#xff1a;从课程作业到实战应用的完整解决方案 目录 【2025最新】Java图书借阅管理系统&#xff1a;从课程作业到实战应用的完整解决方案**系统概述** **核心功能模块详解****1. 系统登录与权限控制****2. 借阅管理模块****3. 用户角色管理…