gcc编译源码包

  1. 下载python源码包并解压
wget https://www.python.org/ftp/python/3.10.18/Python-3.10.18.tgz
tar -xf Python-3.10.18.tgz
cd Python-3.10.18
  1. 系统编译依赖环境安装
sudo yum install zlib-devel ncurses-devel gdbm-devel nss-devel openssl-devel readline-devel libffi-devel sqlite-devel bzip2-devel tk-devel  libpcap-devel xz-devel db4-devel
  1. 开始编译
rm -f config.cache config.log # 删除配置记录# --enable-optimizations 选项在gcc 8以下版本会导致编译问题“could not import runpy module”,
# 我们当前是gcc 4.8所以不加该选项
# 注意本地openssl目录,错误会导致pip命令无法使用
./configure --with-ensurepip=install \--with-openssl=/usr/local/openssl \--enable-shared \LDFLAGS="-Wl,-rpath /usr/local/lib" \--prefix=/usr/local/Python-3.10.18# 若不启用共享库,这不加shared参数
./configure --with-ensurepip=install \--with-openssl=/usr/local/openssl \--prefix=/usr/local/Python-3.10.18make -j $(nproc)  # 并发编译sudo make altinstall   # 避免覆盖默认python二进制文件

openssl文件目录实例如下:
在这里插入图片描述

  1. 创建bash命令链接
# 创建符号链接
sudo ln -s /usr/local/Python-3.10.18/bin/python3.10 /usr/local/bin/python310
sudo ln -s /usr/local/Python-3.10.18/bin/pip3.10 /usr/local/bin/pip310# 检查符号链接是否创建成功
ls -l /usr/local/bin/python310
ls -l /usr/local/bin/pip310# 添加共享库环境变量
# 二选一. 添加为永久环境变量(推荐)
sudo sh -c 'echo "/usr/local/Python-3.10.18/lib" > /etc/ld.so.conf.d/python3.10.conf'
sudo ldconfig# 二选一. 添加到环境变量文件
vi /etc/profile
# 在最后加上并保存
export LD_LIBRARY_PATH=/usr/local/Python-3.10.18/lib:$LD_LIBRARY_PATH
source /etc/profile# 验证命令是否正常工作
python310 --version
pip310 --version
  1. 其他可能使用的命令
# 删除链接
sudo rm /usr/local/bin/python310
sudo rm /usr/local/bin/pip310# 检查 Python 是否能导入 ssl 模块
python310 -c "import ssl; print('SSL module is available')"# 检查 OpenSSL 版本
python310 -c "import ssl; print(ssl.OPENSSL_VERSION)"

系统包管理器安装

# 添加 EPEL 仓库(如果尚未添加)
sudo yum install epel-release# 或者添加 IUS 仓库(提供更新的 Python 版本)
sudo yum install https://centos7.iuscommunity.org/ius-release.rpm# 安装 Python 3.10
sudo yum install python310 python310-devel python310-pip# 验证安装
python3.10 --version
pip3.10 --version

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

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

相关文章

Maya 3D建模 导入参考图、锁定参考图

1 导入参考图切换到 前视图 或者 侧视图 导入 (根据参考图片类别去选择)方法1:视图--图像平面--导入图像方法2:直接点 图像平面 备注:误操作导致看不到 解决办法:显示--视口 找对应的2 锁定参考图目的&…

基于单片机智能加湿器/空气加湿器

传送门 👉👉👉👉其他作品题目速选一览表 👉👉👉👉其他作品题目功能速览 概述 基于单片机的智能加湿器通过集成温湿度传感器、控制模块和雾化装置,实现环境湿度的自…

SNDR:高精度ADC系统的综合性能标尺

SNDR:高精度ADC系统的综合性能标尺 一、SNDR的本质定义与理论基础 信噪失真比(Signal-to-Noise-and-Distortion Ratio) 是评估ADC系统综合性能的核心指标,定义为信号功率与噪声及失真功率之和的比值: SNDRdB10log⁡10(PsignalPnoisePdistorti…

2025年渗透测试面试题总结-31(题目+回答)

安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 一、代码审计核心思路(261) 二、MySQL Getshell前提(262) …

[创业之路-560]:机械、电气、自控、电子、软件、信息、通信、大数据、人工智能,上述技术演进过程

上述关键词反映的技术演进过程可梳理为一条从机械执行到智能决策的递进式发展主线,各技术领域在不同阶段相互渗透、共同推动机器人技术从功能替代向认知革命跃迁。以下是具体演进逻辑与趋势分析:一、技术演进的三阶段递进机械主导阶段(工业革…

芋道前端项目部署后刷新 404 的解决办法(Nginx 配置教程)

很多同学在把 芋道前端项目 部署到服务器后,会遇到一个奇怪的问题: 👉 项目首页能正常访问,但一旦在浏览器里手动刷新某个页面,就会报 404 Not Found 错误。 这到底是为什么呢?又该怎么解决呢?下…

更适合后端宝宝的前端三件套之HTML

文章目录📕1. HTML基础✏️1.1 什么是HTML✏️1.2 认识HTML标签✏️1.3 HTML文件基本结构✏️1.4 标签层次结构📕2. HTML常见标签✏️2.1 标题标签✏️2.2 段落标签✏️2.3 换行标签✏️2.4 图片标签✏️2.5 超链接标签✏️2.6 表格标签📕3. …

【JVM内存结构系列】四、不同垃圾回收器与堆内存的适配关系:从分代GC到Region GC

在JVM内存体系中,堆内存的“分代结构”与“对象流转规则”是通用基础,但垃圾回收器(GC)是决定堆内存实际表现的核心变量——不同GC为实现“低延迟”“高吞吐量”等目标,会对堆的划分方式、对象管理逻辑、参数配置规则进…

Zemax光学设计输出3D

输出立体数据文件(IGES/STEP/SAT/STL 格式)的参数设置界面,各参数含义如下:1. 起始面/终止面:设定要输出立体数据对应的光学表面范围,从第 0 个表面到第 9 个表面 ,限定参与输出的光学结构表面区…

模块测试与低功耗模式全攻略

一、模块测试流程在测试一个模块时,建议遵循以下步骤:基本测试:测试该模块的寄存器读写功能是否正常。可以向每个寄存器写入 0x5A5A 和 0xA5A5,这两种模式可以覆盖对寄存器写入 0 和 1 的情况。进阶测试:在基本测试通过…

机器学习实验三、使用决策树算法预测泰坦尼克号幸存者

实验目的1. 掌握特征工程,会进行特征提取与特征选择,会进行缺失值填充。2. 建立决策树模型,解决实际问题。3. 会对模型进行调试,能够绘制并保存决策树。实验环境Python 3.7.0,Sklearn ,PyCharm实验原理1、特…

从全栈开发到微服务架构:一次真实的Java面试实录

从全栈开发到微服务架构:一次真实的Java面试实录 面试官与应聘者介绍 面试官:李明,某互联网大厂技术负责人,擅长Java后端、微服务及云原生架构。 应聘者:张伟,28岁,硕士学历,拥有5年…

新的 Gmail 网络钓鱼攻击利用 AI 提示注入来逃避检测

网络钓鱼一直以来都是为了欺骗人们。但在这次活动中,攻击者不仅瞄准用户,还试图操纵基于人工智能的防御系统。 这是我上周记录的Gmail 网络钓鱼链的演变。那次攻击活动依赖于紧迫性和重定向,但这次引入了隐藏的 AI 提示,旨在混淆…

Restful风格设计

文章目录什么是Restful风格?RESTful API设计最佳实践1. URL设计原则2. HTTP状态码的正确使用3. 统一的响应格式实际案例:用户管理系统API总结什么是Restful风格? 我的理解是:Restful是一种基于HTTP协议的架构设计风格&#xff0c…

深入 Glide 图像变换:自定义效果、GIF处理与组合变换

在 Android 开发中,Glide 的强大不仅在于其高效的加载和缓存能力,更在于其无与伦比的可扩展性,尤其是在图像处理层面。当内置的 fitCenter() 和 circleCrop() 无法满足你的设计需求时,自定义 Transformation 便是你的终极武器。本…

数据挖掘 4.8 评估泛化能力

4.8 Estimating Generalization 4.8 评估泛化能力 评估模型的泛化能力如何合理评估模型的泛化能力指导原则 (Guidelines)存在的问题 (Issues)K-fold 交叉验证(Cross-Validation)留一交叉验证(Leave One Out CV)(LOOCV)Stratification 分层训练…

46.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--扩展功能--集成网关--网关集成日志

本篇文章,我们一起在网关中集成日志功能,我们要在网关中记录下游微服务出现的异常信息、请求信息以及响应信息。在微服务架构中,网关作为系统的入口,承担着非常重要的职责。通过在网关层面集成日志功能,我们可以更好地…

使用 FastAPI 的 WebSockets 和 Elasticsearch 来构建实时应用

作者:来自 Elastic Jeffrey Rengifo 学习如何使用 FastAPI WebSockets 和 Elasticsearch 构建实时应用程序。 更多阅读:使用 FastAPI 构建 Elasticsearch API 想要获得 Elastic 认证吗?看看下一次 Elasticsearch Engineer 培训什么时候开始&…

华为云ModelArts+Dify AI:双剑合璧使能AI应用敏捷开发

引言:AI应用开发的敏捷化转型需求 随着大语言模型(LLM)技术的迅猛发展,企业与开发者对AI应用开发的敏捷化转型需求日益凸显,亟需将大模型能力快速转化为实际业务价值。传统AI开发模式中,复杂的模型工程化、流程编排和部署维护工作往往需要专业技术团队支撑,典型痛点包括…

网络实践——Socket编程UDP

文章目录Socket编程UDPUDP接口的使用铺垫socketrecvform && sendtobind字节序转化使用(Tips)实践部分version_1echo_serverversion_2dict_serverversion_3chat_serverSocket编程UDP 在了解了相关的网络基础知识后,我们不会像学系统知识一样,先学…