在 debian 12 上安装 mysqlclient 报错

报错如下

Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting mysqlclientUsing cached https://pypi.tuna.tsinghua.edu.cn/packages/61/68/810093cb579daae426794bbd9d88aa830fae296e85172d18cb0f0e5dd4bc/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╰─> [29 lines of output]Trying pkg-config --exists mysqlclientCommand 'pkg-config --exists mysqlclient' returned non-zero exit status 1.Trying pkg-config --exists mariadbCommand 'pkg-config --exists mariadb' returned non-zero exit status 1.Trying pkg-config --exists libmariadbCommand 'pkg-config --exists libmariadb' returned non-zero exit status 1.Trying pkg-config --exists perconaserverclientCommand 'pkg-config --exists perconaserverclient' returned non-zero exit status 1.Traceback (most recent call last):File "/root/miniconda3/envs/shop/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>main()File "/root/miniconda3/envs/shop/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in mainjson_out["return_val"] = hook(**hook_input["kwargs"])^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/root/miniconda3/envs/shop/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 143, in get_requires_for_build_wheelreturn hook(config_settings)^^^^^^^^^^^^^^^^^^^^^File "/tmp/pip-build-env-ugykwsgl/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 334, in get_requires_for_build_wheelreturn self._get_build_requires(config_settings, requirements=[])^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/tmp/pip-build-env-ugykwsgl/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 304, in _get_build_requiresself.run_setup()File "/tmp/pip-build-env-ugykwsgl/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 320, 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.
error: subprocess-exited-with-error× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.note: This error originates from a subprocess, and is likely not a problem with pip.

报错原因

在 Debian 12 系统上安装 mysqlclient 报错的原因通常是系统缺少必要的依赖库,无法正确编译 mysqlclient

解决方案

  1. 安装系统依赖

    mysqlclient 需要一些开发库来进行编译和运行,确保安装以下软件包:

    sudo apt update
    sudo apt install -y build-essential python3-dev default-libmysqlclient-dev
    
    • build-essential:用于提供 C/C++ 编译器和其他工具。
    • python3-dev:Python 的开发头文件。
    • default-libmysqlclient-dev:MySQL 客户端开发库,提供编译所需的头文件和库。
  2. 使用 pip 安装 mysqlclient

    • 确保你的 Python 环境正确,并尝试重新安装 mysqlclient

      pip install mysqlclient
      
    • 如果你使用的是特定 Python 版本(例如系统中有多个 Python 版本),请确保你使用的是正确的 pip

      python3 -m pip install mysqlclient
      
  3. 检查 MySQL 或 MariaDB 是否已安装(可选)

    • 如果你的项目需要连接到 MySQL 或 MariaDB,请确保数据库已安装并运行。如果尚未安装,可以使用以下命令安装 MySQL 服务器:

      sudo apt install -y mysql-server
      
    • 如果使用 MariaDB:

      sudo apt install -y mariadb-server
      
  4. 设置环境变量(如果仍然失败)

    • 如果依然报错提示 Specify MYSQLCLIENT_CFLAGS and MYSQLCLIENT_LDFLAGS env vars manually,可以手动设置编译环境变量:

      export MYSQLCLIENT_CFLAGS=$(mysql_config --cflags)
      export MYSQLCLIENT_LDFLAGS=$(mysql_config --libs)
      
    • 然后再次尝试安装:

      pip install mysqlclient
      
  5. 使用预编译的二进制包(可选)

    • 如果你的环境不需要编译,从 PyPI 安装预编译的 mysqlclient 二进制包可以避免依赖问题:

      pip install --only-binary :all: mysqlclient
      
  6. 确保 Python 环境干净

    • 如果你使用的是 conda 或虚拟环境,建议在干净的环境中重新尝试。例如:

      conda create -n myenv python=3.12
      conda activate myenv
      pip install mysqlclient
      
    • 通过以上步骤,应该可以成功安装 mysqlclient。如果问题仍未解决,可以提供更多信息,我将进一步协助!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/18042.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[ComfyUI]腾讯开源黑科技Sonic,插件更新,更加可控啦

一、Sonic更新介绍 大家还记得我前分享过腾讯开源的Sonic这个项目吧&#xff0c;通过照片声音就可以生成非常不错的数字人开口说话的视频。 当时我就挺满意的&#xff0c;不过那时候输出还只能输出正方形的视频&#xff0c;这点就让我留有遗憾。 今天我再去翻作者的项目官网…

设计模式Python版 命令模式(上)

文章目录 前言一、命令模式二、命令模式示例 前言 GOF设计模式分三大类&#xff1a; 创建型模式&#xff1a;关注对象的创建过程&#xff0c;包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式&#xff1a;关注类和对象之间的组合&…

微服技术栈之Spring could gateway

0 前言 之前使用到的gateway技术栈 &#xff0c;光靠记忆可能没有记住那么多的&#xff0c;gateway当今比较主流的网关技术栈了。说到gateway&#xff0c;不得不提及Zuul&#xff0c;而Zuul已经被淘汰了。 1 概述 Could全家桶有个很重要的组件就是网关&#xff0c;在1.X版本…

上课啦 | 2月17日软考高项【5月备考班】

相关文章推荐 福利&#xff1a;【软考-电子书】赠送 | 信息系统项目管理师教程 软考证书以考代评评定的职称是什么&#xff1f;聘任步骤&#xff1f; 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 软考 高 项 课程&#xff1a;2月17日开课 | 软考-高…

小米 R3G 路由器刷机教程(Pandavan)

小米 R3G 路由器刷机教程&#xff08;Pandavan&#xff09; 一、前言 小米 R3G 路由器以其高性价比和稳定的性能备受用户青睐。然而&#xff0c;原厂固件的功能相对有限&#xff0c;难以满足高级用户的个性化需求。刷机不仅可以解锁路由器的潜能&#xff0c;还能通过第三方固…

【电脑】u盘重装win7

u盘必须8GB以上 1. CPU型号 首先查看CPU的型号看看到底能不能装win7 2. 下载光盘映像文件 网址 看电脑是多少位的机器(32位下载x86 64位下载x64) 一共是这么多个版本按需下载对应的版本 电脑小白推荐无脑下载旗舰版 将链接复制到迅雷进行下载 3. 下载软碟通 网址 下…

wps或office的word接入豆包API(VBA版本)

直接上代码&#xff0c;由于时间匆忙&#xff0c;以后写个详细的教程 #If VBA7 ThenPrivate Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As…

Redis——优惠券秒杀问题(分布式id、一人多单超卖、乐悲锁、CAS、分布式锁、Redisson)

#想cry 好想cry 目录 1 全局唯一id 1.1 自增ID存在的问题 1.2 分布式ID的需求 1.3 分布式ID的实现方式 1.4 自定义分布式ID生成器&#xff08;示例&#xff09; 1.5 总结 2 优惠券秒杀接口实现 3 单体系统下一人多单超卖问题及解决方案 3.1 问题背景 3.2 超卖问题的…

USB Flash闪存驱动器安全分析(第一部分)

翻译原文链接&#xff1a;Hacking Some More Secure USB Flash Drives (Part I) | SySS Tech Blog 文章翻译总结&#xff1a;文章对一些具有AES硬件加密的USB闪存驱动器的网络安全分析研究。研究由SySS的IT安全专家Matthias Deeg进行&#xff0c;他在2022年初发现了几个安全漏…

[前端] axios网络请求二次封装

一、场景描述 为什么要对axios网络请求进行二次封装? 解决代码的复用&#xff0c;提高可维护性。 —这个有两个方案&#xff1a;一个是二次封装一个是实例化。&#xff08;设置一些公共的参数&#xff0c;然后进行请求&#xff09; 为什么可以解决代码的复用&#xff1a; 这是…

DeepSeek助力:打造属于你的GPTs智能AI助手

文章目录 一、环境准备1.安装必要的工具和库2. 选择合适的开发语言 二、核心技术选型1. 选择适合的AI框架 三、功能实现1. 文本生成与对话交互2. 代码生成与自动补全3. 数据分析与报告生成 四、案例实战1. 搭建一个简单的聊天机器人2. 创建一个代码生成器 五、总结与展望1. 当前…

网络基础 【UDP、TCP】

1.UDP 首先我们学习UDP和TCP协议 要从这三个问题入手 1.报头和有效载荷如何分离、有效载荷如何交付给上一层的协议&#xff1f;2.认识报头3.学习该协议周边的问题 UDP报头 UDP我们先从示意图来讲解&#xff0c;认识报头。 UDP协议首部有16位源端口号&#xff0c;16位目的端…

推荐的、好用的线性稳压器

前言 内容来自B站up主-工科男孙老师的视频 视频内容&#xff1a;测评网友推荐的线性稳压器&#xff0c;以及这些线性稳压器的应用场景。视频链接&#xff1a;除了1117&#xff0c;还有哪些更好用的线性稳压器&#xff1f; 1、1117的缺点 体积太大&#xff0c;浪费主板的空间不…

2025最新出炉--前端面试题九

文章目录 1. Vue 和 React 的使用经验对比2. vue 的 computed 和 watch 有什么区别3. v-model 平时你都怎么使用4. import 和 require 之间什么区别5. 说一下 vue 的缓存组件6. vue3.0 为什么使用 proxy 拦截数据7. 能讲讲 vuex 吗, 刷新页面会怎样8. http1.1 和 http2.0 之间什…

rancher on k3s

本次部署采用3节点的etcd服务2master节点的k3s使用helm部署的ranchervip(keepalived) 一、安装etcd服务 # 准备 3 个节点部署 etcd cd /hskj/tmp wget https://github.com/etcd-io/etcd/releases/download/v3.3.15/etcd-v3.3.15-linux-amd64.tar.gz tar xzvf etcd-v3.3.15-…

NLLB 与 ChatGPT 双向优化:探索翻译模型与语言模型在小语种应用的融合策略

作者&#xff1a;来自 vivo 互联网算法团队- Huang Minghui 本文探讨了 NLLB 翻译模型与 ChatGPT 在小语种应用中的双向优化策略。首先介绍了 NLLB-200 的背景、数据、分词器和模型&#xff0c;以及其与 LLM&#xff08;Large Language Model&#xff09;的异同和协同关系。接着…

无人机图像拼接数据的可视化与制图技术:以植被监测为例

无人机技术在生态环境监测中的应用越来越广泛&#xff0c;尤其是在植被监测领域。通过无人机获取的高分辨率影像数据&#xff0c;结合GIS技术&#xff0c;可以实现对植被覆盖、生长状况等的精确监测与分析。本文将通过一个实际案例&#xff0c;详细讲解无人机图像拼接数据的可视…

ONES 功能上新|ONES Copilot、ONES TestCase、ONES Wiki 新功能一览

ONES Copilot 支持基于当前查看的工作项相关信息&#xff0c;利用 AI 模型&#xff0c;在系统中进行相似工作项的查找&#xff0c;包括基于已关联工作项的相似数据查找。 应用场景&#xff1a; 在查看工作项时&#xff0c;可利用 AI 模型&#xff0c;基于语义相似度&#xff0c…

基于带通滤波的camera脏污检测算法可以完全替代imatest

1.概要 脏污检测算法&#xff0c;基于opencv c实现&#xff0c;便于模组厂快速集成到软件工具中&#xff0c;适用于camera模组厂脏污拦截&#xff0c;特别是对浅脏污具备很好的定位效果&#xff1b;便于画质评价工程师了解camera模组制程的问题提出改善方向。 2.技术介绍 下图…

后勤数据源定制主控室

场景&#xff1a;在学习了解后勤数据源过程中&#xff0c;看到觉得有用的note&#xff0c;分享给大家。 1779063 - 常见问题&#xff1a;关于 LO 数据提取 - 定制主控室&#xff08;事务 LBWE&#xff09; 1.问题&#xff1a; 是否需要为每个应用程序组件下的每个数据源添加池…