跳到主要内容
JIN'S TECH SPACE© 2026 JinBlog. All rights reserved.
首页标签GitHub
JIN. //
首页
标签云
分类
云原生架构系统与运维数据库随笔与思考
关于
GitHub联系我
2026/7/13DevOps与工程化

Python 3.11 编译后缺少 _ssl 模块:从 OpenSSL 共享库到重新编译的完整修复记录

本文记录了一次 Python 3.11.9 源码安装后缺少 _ssl 模块的排查与修复过程。表面上 Python 已安装成功,但执行 import ssl 时却报出 No module named '_ssl',原因并不在 Python 主程序,而是 SSL 相关扩展在编译阶段失败。 问题的关键有三点:一是 OpenSSL 最初被编译成了静态库 no-shared,导致 Python 的 _ssl 动态扩展无法正常链接;二是自定义安装的 OpenSSL 共享库位于 /usr/local/openssl11/lib,却没有被系统动态链接器识别;三是 Python 源码目录中的旧构建缓存干扰了重新编译,导致补装依赖后问题依旧。 作者最终采用了独立安装 OpenSSL 共享库的方案:重新编译 OpenSSL 时启用 shared,并通过 ldconfig 注册库路径;随后彻底清理 Python 构建缓存,重新 configure 时显式指定 OpenSSL 目录和运行时路径,最后成功编译出 _ssl 模块并完成 Python 安装。这个案例说明,在 Linux 上源码编译 Python 时,SSL 模块是否可用,取决于 OpenSSL 的编译方式、链接路径和 Python 的重新构建是否彻底。

21 min readREAD MORE
Jin's Avatar

Jin

Full-stack Developer & Tech Enthusiast

数据统计

文章
6
分类
9
评论
0
访问
466

热门标签

  • #binlog1
  • #ECS1
  • #Electron1
  • #ext41
  • #Linux1
  • #LVM1
  • #MySQL1
  • #OpenSSL1
  • #Python编译1
  • #SSL模块1
  • #人生思考1
  • #动态链接1

热门文章

  1. 01

    Docker & K8S 命令合集

    456
  2. 02

    旷野与归途:关于人生的多重思考

    247
  3. 03

    MySQL基于备份库与 binlog 的组合恢复方案

    201
  4. 04

    阿里云 ECS 数据盘迁移实战:ext4 分区盘与 LVM 逻辑卷迁移

    124
  5. 05

    某主流 Markdown 编辑器本地激活机制与安全边界突破分析

    120

订阅动态

第一时间获取最新文章推送,不再错过精彩内容。