news 2026/8/19 13:54:46

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【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,就够了。


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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/19 6:06:08

揭秘MS-720 Teams Agent消息机制:5大关键配置让你避开90%的部署陷阱

第一章&#xff1a;揭秘MS-720 Teams Agent消息机制的核心原理Microsoft Teams Agent&#xff08;MS-720&#xff09;作为企业级自动化通信的关键组件&#xff0c;其消息机制建立在事件驱动与微服务架构之上。该机制通过监听 Microsoft Graph 中的用户活动事件&#xff0c;实时…

作者头像 李华
网站建设 2026/8/19 12:27:23

Mac触控条革命:5个必学的BetterTouchTool预设配置技巧

还在让你的Touch Bar默默无闻吗&#xff1f;这个开源项目汇集了众多用户精心制作的Touch Bar配置方案&#xff0c;让你的触控条瞬间变身智能控制中心&#xff01;无论你是效率追求者还是个性化爱好者&#xff0c;这里都有适合你的完美方案。 【免费下载链接】btt-touchbar-pres…

作者头像 李华
网站建设 2026/8/18 19:35:56

如何在30分钟内完成Docker与Vercel AI SDK的API对接?高效集成秘诀公开

第一章&#xff1a;Docker 与 Vercel AI SDK 的 API 对接在现代全栈应用开发中&#xff0c;将容器化服务与前沿的 AI 功能集成已成为标准实践。Docker 提供了稳定、可复用的服务运行环境&#xff0c;而 Vercel AI SDK 则让开发者能够快速接入生成式 AI 模型。通过将二者结合&am…

作者头像 李华
网站建设 2026/8/19 0:25:38

20、设计帧缓冲接口:从基础程序到图形库应用

设计帧缓冲接口:从基础程序到图形库应用 帧缓冲的简单图形程序 我们可以通过编写一个简单的图形程序来了解 Linux 帧缓冲接口。这个名为 hazy_moon 的程序,将显示一个直径为 240 像素的圆盘,其颜色从顶部的亮青色逐渐过渡到底部的朦胧红色。 运行程序 程序的完整源代码…

作者头像 李华
网站建设 2026/8/19 4:00:43

macOS iSCSI启动器完全指南:从安装到实战应用

想要在macOS系统中轻松连接远程存储设备吗&#xff1f;&#x1f680; iSCSI启动器就是你的完美解决方案&#xff01;本文将带你深入了解这款强大的工具&#xff0c;从基础概念到高级应用&#xff0c;一步步掌握远程存储连接的终极技巧。 【免费下载链接】iSCSIInitiator iSCSI …

作者头像 李华