【笔记】为 Python 项目安装图像处理与科学计算依赖(MINGW64 环境)

article/2025/7/15 0:48:18

📝 为 Python 项目安装图像处理与科学计算依赖(MINGW64 环境)


🎯 安装目的说明

本次安装是为了在 MSYS2 的 MINGW64 工具链环境中,搭建一个完整的 Python 图像处理和科学计算开发环境。

主要目的是支持以下类型的 Python 项目:

  • 使用 Pillow 进行图像处理
  • 使用 NumPy 进行科学计算和数组操作
  • 编译和构建需要系统依赖的 Python 扩展模块(如 C/C++ 扩展)

🧰 主要应用场景

场景描述
图像处理Pillow、OpenCV 等库依赖 zlib、libjpeg-turbo、libpng、freetype 等系统库
科学计算NumPy 支持高效的多维数组运算,是许多数据科学库的基础
本地扩展编译在使用 pip install 安装带有 C 扩展的包时,需依赖这些系统级依赖
构建自定义轮子配合之前安装的 cmake/gcc/make,可进行本地编译打包

🚀 安装命令详解

pacman -S --needed \mingw-w64-x86_64-python-pip \mingw-w64-x86_64-python-setuptools \mingw-w64-x86_64-python-wheel \mingw-w64-x86_64-zlib \mingw-w64-x86_64-libjpeg-turbo \mingw-w64-x86_64-libpng \mingw-w64-x86_64-freetype \mingw-w64-x86_64-libtiff \mingw-w64-x86_64-lcms2 \mingw-w64-x86_64-openjpeg2 \mingw-w64-x86_64-python-numpy

✅ 包含的主要组件及其用途

包名用途
mingw-w64-x86_64-python-pipPython 包管理器
mingw-w64-x86_64-python-setuptoolsPython 包构建和分发工具
mingw-w64-x86_64-python-wheel支持 .whl 格式包安装
mingw-w64-x86_64-zlib数据压缩库(PNG、zip 等)
mingw-w64-x86_64-libjpeg-turbo高速 JPEG 图像编码/解码
mingw-w64-x86_64-libpngPNG 图像格式支持
mingw-w64-x86_64-freetype字体渲染引擎
mingw-w64-x86_64-libtiffTIFF 图像格式支持
mingw-w64-x86_64-lcms2色彩管理系统(用于图像色彩空间转换)
mingw-w64-x86_64-openjpeg2JPEG 2000 图像编码标准支持
mingw-w64-x86_64-python-numpyPython 科学计算基础库,支持高性能数组运算

 

✅ 安装结果摘要

成功安装了以下关键包:

  • mingw-w64-x86_64-lcms2-2.17-1
  • mingw-w64-x86_64-openjpeg2-2.5.3-1
  • mingw-w64-x86_64-python-numpy-2.2.6-1

所有其它包已经是最新版本。

✅ 总共安装了 3 个新包,并确认其余包已存在且是最新的。


🧪 安装验证方法

✅ 查看 pip 是否可用:

python -m pip --version

✅ 检查 numpy 是否可导入:

python -c "import numpy; print(numpy.__version__)"

 

📌 小结:安装目标回顾

目标是否完成
准备图像处理所需的系统依赖
安装 NumPy 以支持科学计算
支持后续用 pip 安装 Python 扩展模块
确保所有依赖兼容 MINGW64 工具链



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

相关文章

软件测评师教程 第2章 软件测试基础 笔记

第2章 软件测试基础 笔记 25.03.18 2.1 软件测试的基本概念 2.1.1 什么是软件测试 软件测试的定义: IEEE 使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求 或是 弄清预期结果与实际结果之间的差异。 软件测试应尽…

[网页五子棋][匹配对战]落子实现思路、发送落子请求、处理落子响应

文章目录 落子实现思路发送落子请求处理落子响应两种棋盘的区别实现 handleTextMessage实现对弈功能控制台打印棋盘完善前端逻辑 落子实现思路 先来实现:点击棋盘,能发送落子请求 客户端 1 点击了棋盘位置,先不着急画子,而是给服…

【QT控件】QWidget 常用核心属性介绍 -- 万字详解

目录 一、控件概述 二、QWidget 核心属性 2.1 核心属性概览 2.2 enabled ​编辑 2.3 geometry 2.4 windowTitle 2.5 windowIcon 使用qrc文件管理资源 2.6 windowOpacity 2.7 cursor 2.8 font ​编辑 2.9 toolTip 2.10 focusPolicy 2.11 styleSheet QT专栏&…

【Java EE初阶】计算机是如何⼯作的

计算机是如何⼯作的 计算机发展史冯诺依曼体系(Von Neumann Architecture)CPU指令(Instruction)CPU 是如何执行指令的(重点) 操作系统(Operating System)进程(process) 进程 PCB 中的…

【仿muduo库实现并发服务器】使用正则表达式提取HTTP元素

使用正则表达式提取HTTP元素 1.正则表达式2.正则库的使用3.使用正则表达式提取HTTP请求行 1.正则表达式 正则表达式它其实是描述了一种字符串匹配的模式,它可以用来在一个字符串中检测一个特定格式的字串,以及可以将符合特定规则的字串进行替换或者提取…

力扣刷题Day 68:搜索插入位置(35)

1.题目描述 2.思路 方法1:回溯的二分查找。 方法2:看到了一个佬很简洁的写法,代码贴在下面了。 3.代码(Python3) 方法1: class Solution:def searchInsert(self, nums: List[int], target: int) ->…

23. Merge k Sorted Lists

目录 题目描述 方法一、k-1次两两合并 方法二、分治法合并 方法三、使用优先队列 题目描述 23. Merge k Sorted Lists 方法一、k-1次两两合并 选第一个链表作为结果链表,每次将后面未合并的链表合并到结果链表中,经过k-1次合并,即可得到…

docker-部署Nginx以及Tomcat

一、docker 部署Nginx 1、搜索镜像(nginx) [rootlocalhost /]# docker search nginx Error response from daemon: Get "https://index.docker.io/v1/search?qnginx&n25": dial tcp 192.133.77.133:443: connect: connection refused 简…

【dshow】VIDEOINFOHEADER2 头文件

VIDEOINFOHEADER2 是用于描述视频流格式的结构体&#xff0c;常用于 Windows 平台的 DirectShow 或 Media Foundation 编程中。 它的定义在以下头文件中&#xff1a; ✅ 所在头文件&#xff1a; #include <dvdmedia.h>&#x1f4cc; 前置说明&#xff1a; VIDEOINFOHEA…

CentOS8.3+Kubernetes1.32.5+Docker28.2.2高可用集群二进制部署

一、准备工作 1.1 主机列表 HostnameHost IPDocker IPRolek8s31.vm.com192.168.26.3110.26.31.1/24master&worker、etcd、dockerk8s32.vm.com192.168.26.3210.26.32.1/24master&worker、etcd、dockerk8s33.vm.com192.168.26.3310.26.33.1/24master&worker、etcd、…

Python----目标检测(Ultralytics安装和YOLO-V8快速上手)

一、Ultralytics安装 网址&#xff1a;主页 -Ultralytics YOLO 文档 Ultralytics提供了各种安装方法&#xff0c;包括pip、conda和Docker。通过 ultralytics pip包安装最新稳定版本的YOLOv8&#xff0c;或克隆Ultralytics GitHub 存储库以获取最新版本。可以使用Docker在隔离的…

Git实战--基于已有分支克隆进行项目开发的完整流程

Git克隆项目开发流程 ✅ 一、完整流程概述✅ 二、详细操作步骤Step 1&#xff1a;克隆仓库&#xff08;如果尚未克隆&#xff09;Step 2&#xff1a;获取远程分支信息并切换到 feature/ 获取所有远程分支Step 3&#xff1a;创建并切换到你的新分支Step 4&#xff1a;开始开发新…

FreeBSD 14.3 候选版本附带 Docker 镜像和关键修复

新的月份已经到来&#xff0c;FreeBSD 14.3 候选发布版 1 现已开放测试&#xff0c;它带来了一些您可能会觉得有用的更新&#xff0c;特别是如果您对Docker容器感兴趣的话。RC1 版本中一个非常受欢迎的改进是&#xff0c;FreeBSD 项目已开始将官方开放容器计划 (OCI) 镜像发布到…

界面分析 - 上

上方&#xff1a;图标&#xff0c;搜索框&#xff0c;功能按钮 左侧&#xff1a;文本显示&#xff0c;自定义按钮&#xff0c;点击自定义按钮的时候&#xff0c;最底下播放条不变&#xff0c;右侧界面随着按钮的改变而改变 右侧&#xff1a;文本信息显示&#xff0c;图片按钮…

电路图识图基础知识-高、低压供配电系统电气系统的继电自动装置(十三)

电气系统的继电自动装置 在供电系统中为保证系统的可靠性&#xff0c;保证重要负荷的不间断供电&#xff0c;常采用自动重合闸装置和备用电源自动投入装置。 1 自动重合闸装置 供配电系统多年运行实践表明&#xff0c;架空线路发生的故障多属于暂时性故障&#xff0c;如雷击…

NVMe协议简介之AXI总线更新

更新AXI4总线知识 AXI4总线协议 AXI4总线协议是由ARM公司提出的一种片内总线协议 &#xff0c;旨在实现SOC中各模块之间的高效可靠的数据传输和管理。AXI4协议具有高性能、高吞吐量和低延迟等优点&#xff0c;在SOC设计中被广泛应用 。随着时间的推移&#xff0c;AXI4的影响不…

机器学习:支持向量机(SVM)原理解析及垃圾邮件过滤实战

一、什么是支持向量机&#xff08;SVM&#xff09; 1. 基本概念 1.1 二分类问题的本质 在机器学习中&#xff0c;分类问题是最常见的任务之一。最简单的情况就是二分类&#xff1a;比如一封邮件是“垃圾邮件”还是“正常邮件”&#xff1f;一个病人是“患病”还是“健康”&a…

数据库系统概论(十二)SQL 基于派生表的查询 超详细讲解(附带例题表格对比带你一步步掌握)

数据库系统概论&#xff08;十二&#xff09;SQL 基于派生表的查询 超详细讲解&#xff08;附带例题表格对比带你一步步掌握&#xff09; 前言一、什么是派生表&#xff1f;二、派生表的使用示例场景1&#xff1a;分组统计后过滤数据场景2&#xff1a;替代临时表查询 三、SELEC…

二、Sqoop 详细安装部署教程

作者&#xff1a;IvanCodes 日期&#xff1a;2025年6月2日 专栏&#xff1a;Sqoop教程 Apache Sqoop 是一个强大的工具&#xff0c;用于在 Hadoop (HDFS, Hive, HBase) 与关系型数据库 (如 MySQL, PostgreSQL, Oracle) 之间高效传输数据。本教程将详细指导您如何根据官方网站截…

【烧脑算法】不定长滑动窗口:从动态调整到精准匹配以灵活特性实现高效破题

目录 求最长/最大 2730. 找到最长的半重复子字符串 2779. 数组的最大美丽值 1838. 最高频元素的频数 2516. 每种字符至少取 K 个 2831. 找出最长等值子数组 求最短/最小 1234. 替换子串得到平衡字符串 2875. 无限数组的最短子数组 76. 最小覆盖子串 632. 最小区间 …