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

news2025/6/3 15:11:03

#工作记录

📌 安装背景

  • 操作系统: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.coloradmin.cn/o/2395447.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux 学习-模拟实现【简易版bash】

1、bash本质 在模拟实现前,先得了解 bash 的本质 bash 也是一个进程,并且是不断运行中的进程 证明:常显示的命令输入提示符就是 bash 不断打印输出的结果 输入指令后,bash 会创建子进程,并进行程序替换 证明&#x…

【中国・珠海】2025 物联网与边缘计算国际研讨会(IoTEC2025)盛大来袭!

2025 物联网与边缘计算国际研讨会(IoTEC2025)盛大来袭! 科技浪潮奔涌向前,物联网与边缘计算已成为驱动各行业变革的核心力量。在此背景下,2025 物联网与边缘计算国际研讨会(IoTEC2025)即将震撼…

中国高分辨率高质量地面CO数据集(2013-2023)

时间分辨率:日空间分辨率:1km - 10km共享方式:开放获取数据大小:9.83 GB数据时间范围:2013-01-01 — 2023-12-31元数据更新时间:2024-08-19 数据集摘要 ChinaHighCO数据集是中国高分辨率高质量近地表空气污…

GO——内存逃逸分析

一、可能导致逃逸的5中情况 package mainimport "fmt"func main() {f1()f2()f3()f4()f5() }type animal interface {run() }type dog struct{}func (d *dog) run() {fmt.Println("狗在跑") }// 指针、map、切片为返回值的会发生内存逃逸 func f1() (*int,…

MinVerse 3D触觉鼠标的技术原理与创新解析

MinVerse3D触觉鼠标通过三维交互和触觉反馈技术,彻底颠覆了传统二维鼠标的操作方式。用户在操作虚拟物体时,可以真实感知表面质感、重量和阻力。这种技术不仅为数字环境注入了深度与临场感,还在3D设计、游戏开发和工程仿真等领域展现了广泛潜…

乾元通渠道商中标青海省自然灾害应急能力提升工程基层防灾项目

近日,乾元通渠道商中标青海省自然灾害应急能力提升工程基层防灾项目,乾元通作为设备厂家,为项目提供通信指挥类装备(多链路聚合设备)QYT-X1。 青岛乾元通数码科技有限公司作为国家应急产业企业,深耕于数据调…

openssl-aes-ctr使用openmp加速

openssl-aes-ctr使用openmp加速 openssl-aes-ctropenmp omp for openssl-aes-ctr 本文采用openssl-1.1.1w进行开发验证开发;因为aes-ctr加解密模式中,不依赖与上一个模块的加/解密的内容,所以对于aes-ctr加解密模式是比较适合进行并行加速的…

PHP+MySQL开发语言 在线下单订水送水小程序源码及搭建指南

随着互联网技术的不断发展,在线下单订水送水服务为人们所需要。分享一款 PHP 和 MySQL 搭建一个功能完善的在线订水送水小程序源码及搭建教程。这个系统将包含用户端和管理端两部分,用户可以在线下单、查询订单状态,管理员可以处理订单、管理…

计算机网络第1章(上):网络组成与三种交换方式全解析

目录 一、计算机网络的概念二、计算机网络的组成和功能2.1 计算机网络的组成2.2 计算机网络的功能 三、电路交换、报文交换、分组交换3.1 电路交换(Circuit Switching)3.2 报文交换(Message Switching)3.3 分组交换(Pa…

Android studio进阶开发(七)---做一个完整的登录系统(前后端连接)

我们已经讲过了okhttp和登录系统的使用,我们今天做一个完整的登录系统,后端用springmybatis去做 数据库内容 -- 创建学生信息表 CREATE TABLE student_info (id SERIAL PRIMARY KEY, -- 添加自增主键name VARCHAR(255) NOT NULL,number INT NOT NULL,…

计算机网络第1章(下):网络性能指标与分层模型全面解析

目录 一、计算机网络的性能指标1.1 性能指标1:速率1.2 性能指标2:带宽1.3 性能指标3:吞吐量1.4 性能指标4:时延1.5 性能指标5:时延带宽积1.6 性能指标6:往返时延1.7 性能指标7:信道利用率 二、计…

恶意软件清理工具,让Mac电脑安全更简单

​你的Mac最近是不是开始表演"电子迷惑行为"?浏览器主页突然变成澳门赌场,风扇转得比直升机螺旋桨还猛......恭喜你!可能中奖获得"恶意软件大礼包"!别慌,今天就教你用恶意软件清理工具化身数字特工…

HackMyVM-Jabita

信息搜集 主机发现 ┌──(kali㉿kali)-[~] └─$ nmap -sn 192.168.43.0/24 Starting Nmap 7.95 ( https://nmap.org ) at 2025-06-01 05:20 EDT Nmap scan report for 192.168.43.1 Host is up (0.020s latency). MAC Address: C6:45:66:05:91:88 (Unknown) Nmap scan repo…

112 Gbps 及以上串行链路的有效链路均衡

通道均衡已成为当今高速串行链路的关键机制。目前有许多均衡方案,例如发射机加重均衡、接收机CTLE(连续时间线性均衡器)、FFE(前馈均衡器)、DFE(判决反馈均衡器)和FEC(前向纠错&…

Python-13(永久存储)

创建并打开文件 open(file,mode)函数 该函数用于打开一个文件并返回对应的文件对象。 file参数指定的是文件路径和文件名,如果没有添加路径,那么默认将文件创建在python的主文件夹里面。mode参数指定的是打开的模式,r表示读取(…

记录一次session安装应用recyclerview更新数据的bug

首先抛出异常日志,在 先说结论:因为session安装监听是在点击事件里面,所以会保留旧的对象数据 直接上代码,原有的逻辑是点击时执行session安装,并注册监听回调 private fun installApk(position: Int) {val packageIns…

大数据-274 Spark MLib - 基础介绍 机器学习算法 剪枝 后剪枝 ID3 C4.5 CART

点一下关注吧!!!非常感谢!!持续更新!!! 大模型篇章已经开始! 目前已经更新到了第 22 篇:大语言模型 22 - MCP 自动操作 FigmaCursor 自动设计原型 Java篇开…

力扣面试150题--二叉树的锯齿形层序遍历

Day 56 题目描述 思路 锯齿形就是一层是从左向右,一层是从右向左,那么我们可以分析样例,对于第奇数层是从左向右,第偶数层是从右向左,于是可以采取一个计数器,采取链表方式,从左向右就是正常插…

如何在 CentOS / RHEL 上修改 MySQL 默认数据目录 ?

MySQL 是一个广泛使用的开源关系数据库管理系统(RDBMS),为无数的 web 应用程序和服务提供支持。默认情况下,MySQL 将其数据存储在预定义的目录中,这可能并不总是适合您的需求。您可能希望将数据目录移动到另一个位置以获得更好的性能和安全性…

简历制作要精而不简

不得不说,不管是春招,还是秋招,我们在求职时,第一步便是制作一份简历。不得不承认,好的简历,就像一块敲门砖,能让面试官眼前一亮,让应聘成功的概率增添一分。 对于一个初次求职者来…