Macos m系列芯片环境下python3安装mysqlclient系列问题
最近学习python3,在安装mysqlclient的时候遇到了一些问题,直接使用哦pip install mysqlclient 直接报错了,记录一下解决方案。
环境信息
设备:Macbook Pro m1
系统:macos Sequoia 15.3.2
最终成功的python版本:Python3.13.3
pip版本:25.0.1
最终系统环境下mysqlclient版本:2.2.7 -> 对应mysql-client: 8.0.42
直接执行命令安装: pip3 install mysqlclient,报错信息:
Collecting mysqlclientUsing cached mysqlclient-2.2.7.tar.gz (91 kB)Installing build dependencies ... doneGetting requirements to build wheel ... errorerror: subprocess-exited-with-error× Getting requirements to build wheel did not run successfully.│ exit code: 1╰─> [35 lines of output]/bin/sh: pkg-config: command not found/bin/sh: pkg-config: command not found/bin/sh: pkg-config: command not found/bin/sh: pkg-config: command not foundTrying pkg-config --exists mysqlclientCommand 'pkg-config --exists mysqlclient' returned non-zero exit status 127.Trying pkg-config --exists mariadbCommand 'pkg-config --exists mariadb' returned non-zero exit status 127.Trying pkg-config --exists libmariadbCommand 'pkg-config --exists libmariadb' returned non-zero exit status 127.Trying pkg-config --exists perconaserverclientCommand 'pkg-config --exists perconaserverclient' returned non-zero exit status 127.Traceback (most recent call last):File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>main()~~~~^^File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in mainjson_out["return_val"] = hook(**hook_input["kwargs"])~~~~^^^^^^^^^^^^^^^^^^^^^^^^File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 143, in get_requires_for_build_wheelreturn hook(config_settings)File "/private/var/folders/pg/lcz_0brx7dl64hcxtkjtrn1c0000gp/T/pip-build-env-lqq7jo65/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 331, in get_requires_for_build_wheelreturn self._get_build_requires(config_settings, requirements=[])~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/private/var/folders/pg/lcz_0brx7dl64hcxtkjtrn1c0000gp/T/pip-build-env-lqq7jo65/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 301, in _get_build_requiresself.run_setup()~~~~~~~~~~~~~~^^File "/private/var/folders/pg/lcz_0brx7dl64hcxtkjtrn1c0000gp/T/pip-build-env-lqq7jo65/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 317, in run_setupexec(code, locals())~~~~^^^^^^^^^^^^^^^^File "<string>", line 156, in <module>File "<string>", line 49, in get_config_posixFile "<string>", line 28, in find_package_nameException: Can not find valid pkg-config name.Specify MYSQLCLIENT_CFLAGS and MYSQLCLIENT_LDFLAGS env vars manually[end of output]note: This error originates from a subprocess, and is likely not a problem with pip.
看错误信息是少了pkg-config
执行命令:brew install pkg-config,也报错!!!
fatal: not in a git directory
Warning: No remote 'origin' in /opt/homebrew/Library/Taps/homebrew/homebrew-services, skipping update!
Running `brew update --auto-update`...
Warning: You are using macOS 15.
We do not provide support for this pre-release version.
It is expected behaviour that some formulae will fail to build in this pre-release version.
It is expected behaviour that Homebrew will be buggy and slow.
Do not create any issues about this on Homebrew's GitHub repositories.
Do not create any issues even if you think this message is unrelated.
Any opened issues will be immediately closed without response.
Do not ask for help from MacHomebrew on Twitter.
You may ask for help in Homebrew's discussions but are unlikely to receive a response.
Try to figure out the problem yourself and submit a fix as a pull request.
We will review it but may or may not accept it.==> Fetching pkg-config
==> Downloading https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar
######################################################################## 100.0%
==> ./configure --prefix=/opt/homebrew/Cellar/pkg-config/0.29.2_3 --disable-host
==> make
Last 15 lines from /Users/nankexiansheng/Library/Logs/Homebrew/pkg-config/02.make:
gatomic.c:464:10: error: incompatible integer to pointer conversion passing 'gsize' (aka 'unsigned long') to parameter of type 'gpointer' (aka 'void *') [-Wint-conversion]464 | return g_atomic_pointer_xor ((volatile gpointer *) atomic, val);| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./gatomic.h:191:45: note: expanded from macro 'g_atomic_pointer_xor'191 | (gsize) __sync_fetch_and_xor ((atomic), (val)); \| ^~~~~
4 errors generated.
make[6]: *** [libglib_2_0_la-gatomic.lo] Error 1
make[6]: *** Waiting for unfinished jobs....
make[5]: *** [all-recursive] Error 1
make[4]: *** [all] Error 2
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2Do not report this issue to Homebrew/brew or Homebrew/core!Error: You are using macOS 15.
We do not provide support for this pre-release version.
It is expected behaviour that some formulae will fail to build in this pre-release version.
It is expected behaviour that Homebrew will be buggy and slow.
Do not create any issues about this on Homebrew's GitHub repositories.
Do not create any issues even if you think this message is unrelated.
Any opened issues will be immediately closed without response.
Do not ask for help from MacHomebrew on Twitter.
You may ask for help in Homebrew's discussions but are unlikely to receive a response.
Try to figure out the problem yourself and submit a fix as a pull request.
We will review it but may or may not accept it.
解决方法:
mysqlclient安装
可以参考mysqlclient文档
首选确保你的macos已经安装配置好了brew,以及配置了国内源。
# 安装pkg-config
brew install pkg-config
注意:如果这里报错,先执行下brew install mysql;再执行brew install pkg-config命令
# 安装 mysql-client
brew install mysql-client@8.0
# 添加环境变量 在 ~/.zshrc 中添加下面这行
export PKG_CONFIG_PATH="$(brew --prefix)/opt/mysql-client@8.0/lib/pkgconfig"保存后 source ~/.zshrc 刷新环境变量通过 printenv 可以查看确认当前环境变量
接下来可以正常安装mysqlclient,这里我安装的是mysqlclient 2.2.7版本
注意⚠️:2.0.0 以上版本需要python3.8及以上才能兼容
pip3 install mysqlclient
如果正常安装完成,没有报错,进入当前python运行环境测试
如果能正常引入MySQLdb而没有报错,那么基本上算上顺利完成了。可以尝试在虚拟环境安装完依赖启动项目试试
相关文章:
Macos m系列芯片环境下python3安装mysqlclient系列问题
最近学习python3,在安装mysqlclient的时候遇到了一些问题,直接使用哦pip install mysqlclient 直接报错了,记录一下解决方案。 环境信息 设备:Macbook Pro m1 系统:macos Sequoia 15.3.2 最终成功的python版本…...
《代码整洁之道》第7章 错误处理 - 笔记
得墨忒耳定律 不要链式调用, 如 a.getB().getC().doSomething()。 直接获取对象调用方法 数据传输对象(DTOs) DTO (Data Transfer Object): 数据传输对象。这是一种典型的数据结构。 里面没有任何业务逻辑代码。它的唯一作用就…...
java-mybatis01
对象/关系映射ORM ORM完成面向对象的编程语言DAO关系数据库的映射后,开发人员可以利用面向对象设计语言的建议易用性,也可利用关系数据库的技术优势。 ORM把关系数据库包装成面向对象的模型,采用ORM框架后,应用程序不再直接访问底…...
单片机之间的双向通信
具体功能实现 甲单片机通过按键可以控制乙单片机的LED灯,而乙单片机通过可以让连接甲单片机的数码管数字自增加一。 定时器资源 3个定时器 中断系统 执行现程序的过程中,出现某些急需处理的异常情况或特殊请求,cpu暂时中止现行程序&…...
量子纠缠式架构:当微服务同时存在于所有节点时,CAP定理是否依然成立?
一、CAP定理的经典困境 1. 传统分布式系统的三维束缚 经典权衡案例: 系统类型选择代价银行核心系统CP故障时拒绝服务社交网络AP短暂数据不一致物联网平台CA网络中断即崩溃 二、量子纠缠的降维打击 1. 量子微服务的超距同步 # 量子纠缠服务示例(Qiski…...
使用rsync和inotidy-tools来进行实时备份文件夹数据
在工作中遇到这个这么个需求,就是我们有一个samba的文件共享服务器,里面存了很多文件,然后我想实时备份这个samba共享文件的。 1、概述 只需要在源服务器上操作,并在源服务器上安装好rsync和inotidy-tools,目标服务器…...
Spring AI 实现智能对话
1. 实现效果 2. Spring Boot 3 后端 2.1 pom.xml <!-- 管理包依赖。通过 Spring AI 的 BOM 文件统一管理所有 Spring AI 相关依赖的版本,确保版本一致性,减少冲突 --><dependencyManagement><dependencies><!-- Spring AI -->…...
2025 网络安全技术深水区探索:从 “攻防对抗” 到 “数字韧性” 的范式跃迁
引言:当攻击成本趋近于零,防御逻辑必须重构 2025 年,网络安全领域正经历三重根本性变革: 攻击者门槛坍缩:生成式 AI 将网络钓鱼开发效率提升 300%,勒索软件即服务(RaaS)订阅用户突破…...
学习笔记—双指针算法—移动零
双指针算法 移动零 283. 移动零 - 力扣(LeetCode) 题目描述: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进…...
计算机网络全栈精讲:从 TCP/UDP 原理到 Socket 编程与 HTTP 协议实战(含代码实现)
计算机网络作为现代信息技术的基石,支撑着互联网、物联网、云计算等众多领域的发展。无论是前端开发者、后端工程师,还是运维人员,深入理解计算机网络原理都至关重要。本文将从网络分层模型出发,逐步深入讲解 TCP/UDP 协议、Socke…...
IP地址如何切换到国内别的省份?一步步指导
使用换IP工具的主要目的是通过更换设备的公网IP地址来满足特定需求,例如绕过限制、保护隐私或完成特定任务。以下是常见的应用场景和原因: 一、ip应用场景 1. 绕过IP限制 访问地域限制内容:某些网站或服务(如游戏、社交平台 &am…...
c++流对象
核心概念回顾: C 的流库 (<iostream>, <fstream>, <sstream>) 提供了一种统一的方式来处理输入和输出,无论数据是来自键盘、文件还是内存中的字符串。它们都基于 std::istream (输入流基类) 和 std::ostream (输出流基类),…...
华为IP(5)
交换机的堆叠与集群 堆叠和集群指的是同一件事 前言: 随着企业的发展,企业网络的规模越来越大,这对企业网络提出了更高的要求:更高的可靠性、更低的故障恢复时间、设备更加易于管理等。 传统的园区网高可靠性技术出现故障时很难做到毫秒级…...
零信任架构下的等保 2.0 与密评密改双合规
随着《网络安全等级保护2.0》和《商用密码应用安全性评估》的深入实施,企业面临双重合规压力:既要满足等保2.0对“主动防御”和“动态防护”的要求,又要通过密评密改强化密码技术的合规性。传统安全架构依赖边界防护和静态密码策略࿰…...
华为 MRAG:多模态检索增强生成技术论文阅读
GitHub项目链接:https://github.com/PanguIR/MRAGSurvey 总览 多模态检索增强生成(MRAG)通过将文本、图像、视频等多模态数据整合到检索与生成过程中,显著提升了多模态大语言模型(MLLM)的性能。传统检索增…...
文字光影扫过动效
列子1 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>光影扫过文字动效</title><styl…...
SpringBoot配置RestTemplate并理解单例模式详解
在日常开发中,RestTemplate 是一个非常常用的工具,用来发起HTTP请求。今天我们通过一个小例子,不仅学习如何在SpringBoot中配置RestTemplate,还会深入理解单例模式在Spring中的实际应用。 1. 示例代码 我们首先来看一个基础的配置…...
计算机网络应用层(5)-- P2P文件分发视频流和内容分发网
💓个人主页:mooridy 💓专栏地址:《计算机网络:自顶向下方法》 大纲式阅读笔记_mooridy的博客-CSDN博客 💓本博客内容为《计算机网络:自顶向下方法》第二章应用层第五、六节知识梳理 关注我&…...
C++ TCP通信原理与实现
C 中 TCP 通信的原理基于 TCP/IP 协议栈的实现,以下是核心原理和关键步骤的详细说明: 一、TCP 通信核心原理 面向连接 通信双方需通过 三次握手 建立可靠连接,确保通信通道稳定。通过 四次挥手 断开连接,保证数据完整性。 可靠传…...
计算机网络-运输层(1)
计算机网络-运输层(1) 文章目录 计算机网络-运输层(1)5.1 运输层概述5.2 运输层端口号、复用与分用端口号基本概念端口号特性端口号分类重要说明 5.3 UDP与TCP协议对比关键区别说明 5.1 运输层概述 计算机网络体系结构中的物理层、数据链路层以及网络层共同解决了主机通过异构…...
学习spark-streaming收获
1.流处理的核心概念 •实时 vs微批处理:理解了 Spark Streaming 的微批处理(Micro-Batch)模型,将流数据切分为小批次(如1秒间隔)进行处理,与真正的流处理(如Flink)的区…...
蓝桥杯 14. 奇怪的数列
奇怪的数列 原题目链接 题目描述 从 X 星截获一份电码,是一些数字,如下: 13 1113 3113 132113 1113122113 ⋯⋯YY 博士经彻夜研究,发现了规律: 第一行的数字随便是什么,以后每一行都是对上一行 “读出…...
前端高频面试题day2
如何在vue3中使用defineAsyncComponent实现异步组件加载 在 Vue 3 中,使用 defineAsyncComponent 实现异步组件加载的步骤如下: 引入方法:从 Vue 中导入 defineAsyncComponent。定义异步组件:通过 defineAsyncComponent 包装一个…...
Linux系统之设置开机启动运行桌面环境
Linux 开机运行级别介绍与 Ubuntu 桌面环境配置指南 一、Linux 开机运行级别(Runlevel) 在传统的 Linux 系统(如 SysV init 初始化系统)中,运行级别定义了系统启动时加载的服务和资源。常见的运行级别如下: 运行级别模式用途0Halt(停机模式)关闭系统1Single User Mode…...
Python PyAutoGUI库【GUI 自动化库】深度解析与实战指南
一、核心工作原理 底层驱动机制: 通过操作系统原生API模拟输入使用ctypes库调用Windows API/Mac Cocoa/Xlib屏幕操作依赖Pillow库进行图像处理 事件模拟流程: #mermaid-svg-1CGDRNzFNEffhvSa {font-family:"trebuchet ms",verdana,arial,sans…...
【MobaXterm】win10下载v25.1安装流程
【下载地址】 官网: https://mobaxterm.mobatek.net/ 下载安装版,解压使用更快一些 【v20.0中文安装包】 夸克网盘:https://pan.quark.cn/s/2ad5b59e6d8e#/list/share 对应的指导教程: MobaXterm中文版安装使用教程-附安装包…...
2025.4.22 JavaScript 常用事件学习笔记
一、事件概述 JavaScript 事件是指在用户与网页交互或网页状态发生变化时所触发的操作。通过使用事件,可以为网页添加丰富的动态功能,实现用户与页面之间的互动,让网页不再只是静态的展示内容。 二、常见鼠标事件 click 事件 简介 …...
Android 13.0 MTK Camera2 设置默认拍照尺寸功能实现
Android 13.0 MTK Camera2 设置默认拍照尺寸功能实现 文章目录 需求:参考资料架构图了解Camera相关专栏零散知识了解部分相机源码参考,学习API使用,梳理流程,偏应用层Camera2 系统相关 修改文件-修改方案修改文件:修改…...
Linux:基础IO 文件系统
Linux:基础IO && 文件系统 一、系统IO(一)系统文件操作接口1、open2、write3、read (二)文件描述符1、概念2、标准输入、标准输出、标准错误 (三)dup系统调用(重定向原理) 二…...
近期有哪些断链危机?如何提升供应链风险管理能力?
全球供应链格局正经历深刻变革,其网络架构愈发复杂,涉及多国企业主体且涵盖多个节点与复杂环节,管理难度显著增大。从原材料采购到终端交付,运输、仓储、加工等任一环节均存在潜在风险,单一环节效率滞后易引发系统性连…...
知识科普|褪黑素的发展历程及应用研究进展
睡眠作为维持人体健康的重要生理机制,其节律性受到精密调控。在昼夜节律系统的调控下,人类普遍遵循周期性单次睡眠模式,这一过程涉及复杂的神经-体液调控网络。其中神经元活动、神经递质传导、激素分泌及遗传调控机制共同作用于睡眠觉醒系统&…...
企业如何构建一个全面的Web安全防护体系
企业如何构建一个全面的Web安全防护体系 企业构建全面的Web安全防护体系需融合战略规划、技术防御、持续运营和风险治理四大维度,以下是基于行业最佳实践的系统化方案: 一、顶层设计:治理架构与安全战略 战略规划与合规驱动 制定网络安全愿…...
T8332FN凯钰LED驱动芯片多拓扑车规级AEC-Q100
T8332FN是一款支持多拓扑结构的恒流LED驱动控制芯片,适用于汽车照明及高功率LED应用,具备宽电压输入、高精度调光及多重保护功能。 核心特性 - 输入与拓扑:支持5-60V宽电压输入,适配Boost、Buck、Buck-Boost、SEPIC四种拓扑结构&…...
Redis一些小记录
Redis一些小记录 SpringData Redis:RedisTemplate配置与数据操作 操作String类型数据 String是Redis中最基本的数据类型,可以存储字符串、整数或浮点数。RedisTemplate提供了ValueOperations接口来操作String类型的数据,支持设置值、获取值、…...
Win10安装 P104-100 驱动
安装完之后总结一下, 之前做了不少功课, 在网上搜了很多教程, 视频的文字的, 但是很多已经比较陈旧了. 最后发现的这个 GitHub 项目 NVIDIA-patcher 是最有用的, 因为这是现在这些魔改驱动的来源. NVIDIA-patcher 仓库地址: https://github.com/dartraiden/NVIDIA-patcher 安…...
Android开机动画资源包制作(测试使用)
开机动画资源包需要采用仅存储的方式进行压缩,不能使用压缩软件直接压缩生成。 如果是系统开发人员,可以在源码目录中,采用bootanim程序提供的制作方式进行,下面可供测试人员自行制作。 制作流程 1)基于设备中已有开…...
PWN基础-利用格式化字符串漏洞泄露canary结合栈溢出getshell
测试源码: #include<stdio.h> void exploit() {system("/bin/sh"); } void func() {char str[0x20];read(0, str, 0x50);printf(str);read(0, str, 0x50); } int main() {func();return 0; } 编译,开启 canary 保护,关闭 p…...
Kafka HA集群配置搭建与SpringBoot使用示例总结
Kafka HA集群配置搭建与SpringBoot使用示例总结 一、Kafka高可用(HA)集群搭建 1. 环境准备 至少3台服务器(推荐奇数台,如3、5、7)已安装Java环境(JDK 1.8)下载Kafka二进制包(如kafka_2.13-3.2.1.tgz&…...
MSO-Player:基于vlc的Unity直播流播放器,支持主流RTSP、RTMP、HTTP等常见格式
MSO-Player 基于libVLC的Unity视频播放解决方案 支持2D视频和360度全景视频播放的Unity插件 📑 目录 🎥 MSO-Player 📋 功能概述🚀 快速入门📚 关键组件📝 使用案例🔌 依赖项📋 注意…...
97A6-ASEMI无人机专用功率器件97A6
编辑:ll 97A6-ASEMI无人机专用功率器件97A6 型号:97A6 品牌:ASEMI 封装:SOT-23 批号:最新 引脚数量:3 特性:双向可控硅 工作温度:-40℃~150℃ 97A6双向可控硅:…...
body Param Query 三个 不同的入参 分别是什么意思 在前端 要怎么传 这三种不同的参数
在 NestJS 中,Body()、Param() 和 Query() 用于处理不同类型的请求参数。以下是它们的含义及前端传递方式: Body():请求体参数 • 含义:用于获取请求体中的数据(如 POST/PUT 请求中提交的 JSON、表单数据等)…...
生成式人工智能认证(GAI认证)含金量怎么样?
当生成式人工智能(Generative AI)的浪潮以摧枯拉朽之势重塑职业版图时,一个尖锐的问题正悬在无数人的心头:在技术迭代比眨眼更快的时代,如何证明自己具备驾驭AI的核心能力? 这场认知革命的背后,一张认证证书的价值早已超越了纸面——它既是个人能力的“信用背书”,也是…...
环境DNA宏条形码技术,鱼类检测引物如何选择?
环境DNA(eDNA)宏条形码技术在鱼类多样性调查研究中的优势明显,相比于传统调查方式,eDNA宏条形码技术灵敏度更高,能够更好地揭示鱼类的丰富度,并且具有高时效性。然而,在使用这个技术的过程中&am…...
Scala集合操作与WordCount案例实战总结
集合计算简单函数 1、说明 (1)求和 (2)求乘积 (3)最大值 (4)最小值 (5)排序 2、案例实操 object demo29{ def main(args: Array[String]): Unit { val…...
Spark-Streaming核心编程(四)总结
有状态转化操作 - UpdateStateByKey 功能描述 UpdateStateByKey原语用于在DStream中跨批次维护状态,例如流计算中的累加wordcount。 它允许对一个状态变量进行访问和更新,适用于键值对形式的DStream。 工作原理 给定一个由(键,事…...
关系型数据库PostgreSQL for Mac 保姆级使用教程
第一部分:安装PostgreSQL 方法一:使用Postgres.app(最简单) 访问 Postgres.app官网 下载最新版本,将 Postgres.app 移动到 “Applications” 文件夹。 双击Postgres.app打开应用,点击"Initialize&q…...
新增 29 个专业,科技成为关键赛道!
近日,教育部正式发布《普通高等学校本科专业目录(2025年)》,新增 29 个本科专业,包括区域国别学、碳中和科学与工程、海洋科学与技术、健康与医疗保障、智能分子工程、医疗器械与装备工程、时空信息工程、国际邮轮管理…...
云计算市场的重新分类研究
云计算市场传统分类方式,比如按服务类型分为IaaS、PaaS、SaaS,或者按部署模式分为公有云、私有云、混合云。主要提供计算资源、存储和网络等基础设施。 但随着AI大模型的出现,云计算市场可以分为计算云和智算云,智算云主要是AI模…...
大模型时代的具身智能:从虚拟到现实的智能体进化革命
一、具身智能:重新定义 AI 与物理世界的交互范式 (一)概念解析:从 "离身" 到 "具身" 的认知革命 具身智能(Embodied AI)是融合大模型决策能力与物理实体执行能力的新型智能系统&…...
鸿蒙NEXT开发正则工具类(ArkTs)
import { FormatUtil } from ./FormatUtil;/*** 正则工具类* author CSDN-鸿蒙布道师* since 2025/04/27*/ export class RegexUtil {/*** 英文字母、数字和下划线*/static readonly REG_GENERAL "^\\w$";/*** 数字*/static readonly REG_NUMBERS "^\\d$"…...