当前位置: 首页 > news >正文

【CentOS7】CentOS 7 + Python 3.11 安装 SQLAlchemy 报错 greenlet 编译失败(阿里云 SCL Vault 源修复方案)

CentOS 7 + Python 3.11 安装 SQLAlchemy 报错 greenlet 编译失败(阿里云 SCL Vault 源修复方案)

本文只采用一种最简单、成功率最高的方案

切换到阿里云 CentOS 7 SCL Vault 源,安装 devtoolset-10 升级 gcc

适合人群:

  • CentOS 7(7.6 / 7.9 / 云厂商定制版)
  • Python 3.11
  • pip 安装 SQLAlchemy / greenlet 失败

关键词:
Failed building wheel for greenletcommand '/usr/bin/g++' failedCentOS 7 EOL


一、问题现象

在 CentOS 7 上使用 Python 3.11 执行:

pipinstallSQLAlchemy

常见报错如下:

error: command '/usr/bin/g++' failed with exit code 1 ERROR: Failed building wheel for greenlet

或者:

× Failed to build installable wheels for some pyproject.toml based projects ╰─> greenlet

二、问题根因(必须先搞清楚)

1️⃣ SQLAlchemy 依赖 greenlet

  • SQLAlchemy 1.4+ / 2.x
  • 默认依赖greenlet
  • greenletC++ 扩展模块,需要本地编译

2️⃣ Python 3.11 对编译器要求提高

  • greenlet 在 Python 3.11 中使用了更新的 C++ 特性
  • 至少需要 gcc ≥ 9(推荐 gcc 10)

3️⃣ CentOS 7 默认 gcc 太旧

CentOS 7 自带:

gcc 4.8.5

👉无法编译 greenlet(这是必然结果)


三、为什么 yum 装不到 devtoolset?

原因只有一个:

CentOS 7 已 EOL,官方 mirrorlist 仓库已下线

典型报错:

Could not retrieve mirrorlist http://mirrorlist.centos.org Cannot find a valid baseurl for repo: centos-sclo-rh

因此,继续使用官方源一定失败


四、唯一采用的解决方案:切换阿里云 SCL Vault 源

✔ 不改系统 gcc
✔ 成功率高
✔ 生产环境可用

下面是完整可执行步骤


五、完整修复流程(一步一步执行)

1️⃣ 备份原 SCL repo

sudomkdir-p /etc/yum.repos.d/backupsudomv/etc/yum.repos.d/CentOS-SCLo-*.repo* /etc/yum.repos.d/backup/

2️⃣ 配置阿里云 CentOS 7 SCL Vault 源

新建 repo 文件:

sudotee/etc/yum.repos.d/CentOS-SCLo.repo<<'EOF' [centos-sclo-rh] name=CentOS-7 - SCLo rh baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/ enabled=1 gpgcheck=0 [centos-sclo-sclo] name=CentOS-7 - SCLo sclo baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/ enabled=1 gpgcheck=0 EOF

3️⃣ 刷新 yum 缓存

sudoyum clean allsudoyum makecache

4️⃣ 安装 devtoolset-10(gcc 10)

sudoyuminstall-y devtoolset-10

5️⃣ 启用新 gcc(关键步骤)

sclenabledevtoolset-10bash

验证:

gcc --version g++ --version# gcc 10.x

6️⃣ 安装 greenlet / SQLAlchemy

pipinstall-U pip setuptools wheel pipinstall--no-cache-dir greenlet pipinstall--no-cache-dir SQLAlchemy

验证:

python -<<'EOF' import greenlet import sqlalchemy print('OK') EOF

六、常见错误总结

  • ❌ 继续使用 mirrorlist.centos.org
  • ❌ 只升级 pip,不升级 gcc
  • ❌ 忽略 g++ 版本

只要gcc ≥ 9,greenlet 一定能编译通过。


七、结论

当你在 CentOS 7 + Python 3.11 环境中遇到:

Failed building wheel for greenlet

请直接记住这一条结论:

换阿里云 SCL Vault 源,安装 devtoolset-10,就够了。


如果本文帮你节省了时间,欢迎点赞 / 收藏 / 转发。

http://www.cnnetsun.cn/news/110850.html

相关文章:

  • 揭秘MS-720 Teams Agent消息机制:5大关键配置让你避开90%的部署陷阱
  • 仅限本周公开:微软资深工程师亲授AZ-500云Agent访问控制秘技(内部培训资料流出)
  • Mac触控条革命:5个必学的BetterTouchTool预设配置技巧
  • 如何在30分钟内完成Docker与Vercel AI SDK的API对接?高效集成秘诀公开
  • 20、设计帧缓冲接口:从基础程序到图形库应用
  • macOS iSCSI启动器完全指南:从安装到实战应用
  • LiteIDE终极指南:2025年Go开发者的免费完整解决方案
  • Docker部署智能Agent常见坑点,99%新手都会忽略的3个关键细节
  • 31、运行时访问(RTA)库全面解析
  • LrcApi歌词API服务:为音乐应用注入灵魂的完整解决方案 [特殊字符]
  • (Q#编程避坑指南):轻松搞定VSCode测试报告中的常见错误
  • React Big Calendar完全攻略:从零构建企业级日程管理系统
  • 【VSCode量子硬件连接检测全攻略】:手把手教你5步实现稳定通信
  • 从零构建可信模型(基于VSCode的量子机器学习评估全流程)
  • Windows系统优化终极指南:一键解锁隐藏功能
  • EmotiVoice能否生成诗歌朗诵语音?韵律美感捕捉
  • 为什么你的边缘Agent总连不上网络?深度剖析Docker网络配置盲区
  • Muon优化器与FP8混合精度:AI训练能效革命与绿色计算新范式
  • 没有实验数据如何发SCI论文——AI与VOSviewer, CiteSpace, R包联合使用的可视化分析与全流程技术方法
  • 3、Kali Linux 入门指南
  • 4、Linux 文件与目录操作及文本处理全解析
  • 免费开源敏捷项目管理终极指南:Taiga从入门到精通
  • 如何快速搭建企业级后台管理系统:基于React的完整解决方案
  • 当AI开始抱怨:你们给我的数据,太“难吃”了
  • 解锁全国铁路货运布局:这份PDF地图为何备受青睐?
  • 网络安全从业者必须知道的100个知识点,你都掌握了吗?
  • 2025年最新Web安全入门学习,全面掌握Web安全,看这一篇就够了
  • 【量子计算开发者必看】:3步打通Q#程序的VSCode覆盖率监测路径
  • K8S之rke2证书过期,如何处理以及遇到的问题
  • 5个技巧让COLMAP三维重建速度提升3倍的Eigen优化方法