centos7从源码安装python

1.更换yum源

备份(官方停止维护,无所谓了),更改配置文件,清除缓存,建立缓存
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

CentOS-Base.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=https://mirrors.ustc.edu.cn/centos-vault/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
baseurl=https://mirrors.ustc.edu.cn/centos-vault/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
baseurl=https://mirrors.ustc.edu.cn/centos-vault/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
baseurl=https://mirrors.ustc.edu.cn/centos-vault/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
yum clean all yum makecache

yum install epel-release -y

2.安装gcc套件

yum install -y gcc

3.解压python源码包

官方镜像站:https://www.python.org/ftp/python/
阿里镜像站:https://mirrors.aliyun.com/python-release/
tar -zxf /opt/software -C /usr/local/src/ ; mv /usr/local/src/Python-3.9.9 /usr/local/src/python

4.安装依赖

yum install gcc libffi-devel python-devel openssl-devel

5.编译

cd /usr/local/src/python

5.1 指定安装目录

./configure --prefix=/usr/local/src/python3

5.2 编译安装

make && make install

6.添加环境变量

echo "PYTHON_HOME=/usr/local/src/python3" >> /etc/profile
echo "PATH=$PATH:$PYTHON_HOME/bin"" >> /etc/profile

7.效果图

ps:
使用追加记录日志make install >> log.txt只有错误信息会输出到控制台,我捕捉到一个错误:
/usr/local/src/python/Modules/_ctypes/_ctypes.c:107:17: 致命错误:ffi.h:没有那个文件或目录 #include <ffi.h>,是没有安装依赖造成的

链接:
中科大CentOS-Base.repo

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

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

相关文章

数据到行动:电商复盘文化的深度剖析

电商团队如何用协同工具优化活动复盘效率 在电商行业中,团队复盘是每次活动后提升战斗力的重要环节。但由于活动节奏快、涉及面广,传统的复盘流程往往效率低下。近年来,越来越多的电商团队开始依赖在线文档编辑与协同工具,极大地提升了复盘的效率和质量。 高效复盘的痛点:…

在eclipse中创建JavaWeb项目

第一步:启动软件选择工作空间第二步:创建项目第三步:选择配置第一次配Tomcat会这样然后接着,next这里其实也可以不用改成这样,直接next也行 最后是然后就创建成功了 简单写一个三层架构:entity代码: ` package com.zuxia.entity; public class CakeEntity { //甜品编号 …

【POC开发系列】Pocsuite3框架的使用与poc的编写

一、Pocsuite3的介绍二、功能特性介绍2.1 漏洞测试框架2.2 PoC/Exp 开发包2.3 可被集成模块2.4 集成多个安全服务的API2.5 一些特性三、安装方法3.1 使用 Python3 pip 安装3.2 通过Github的源码下载四、架构简析五、运行方式5.1 命令行运行5.2 控制台运行5.3 集成调用六、Pocsu…

Java的HTTP接口测试框架Gatling

之前讲过的《JHM》是一个java的基准测试框架,一般用于测试jdk里的API。如果要测试http接口,可以使用Gatling。你可能用过JMeter,也是可以的原生的Gatling是基于代码测试的,没有UI。你需要创建一个maven项目,或者下载官方的例子:https://github.com/gatling/gatling-js-de…

Codeforces Round 993 (Div. 4)(补题)

只选择对自己有意义的题目Codeforces Round 993 (Div. 4)只选择对我有价值的题目记录E. Insane Problem 题目描述 给定五个整数 \(k\),\(l_1\),\(r_1\),\(l_2\) 和 \(r_2\),Wave 希望你帮助她计算满足以下所有条件的有序对 \((x, y)\) 的数量:\(l_1 \leq x \leq r_1\)。 \…

函数是什么

建设 邮政 中国工商银行

【多线程】原子类

JDK原子类基于CAS轻量级原子操作实现,使得程序运行效率变得更高。 (1)基本原子类基本原子类的功能是通过原子方式更新Java基础类型变量的值。基本原子类主要包括以下三个: AtomicInteger:整型原子类。 AtomicLong:长整型原子类。 AtomicBoolean:布尔型原子类。 (…

我的世界服务端插件安装 AuthMe用户登录插件安装

Minecraft服务端插件安装-AuthMe用户登录插件安装 需要准备AuthMe插件AuthMe-5.6.0.jar用户登录插件例如使用/register <密码> <确认密码>进行注册,使用/login <密码>进登录 AuthMe插件AuthMe 是一个广泛用于 Minecraft 服务器的插件,主要用于账户验证和注…

【数理统计】假设检验

目录假设检验的概念单个总体正态分布的假设检验正态总体均值 \(\mu\) 的假设检验正态总体方差 \(\sigma^2\) 的假设检验两个总体正态分布的假设检验(略)例题 假设检验的概念 【定义】\(H_0\) 称为原假设,\(H_1\)称为对立假设,它们的内容相互对立。 使原假设 \(H_0\) 得以接…

PCIe扫盲——PCIe总线事务层入门(一)

在介绍事务层之前,首先简单地了解一下PCIe总线的通信机制。假设某个设备要对另一个设备进行读取数据的操作,首先这个设备(称之为Requester)需要向另一个设备发送一个Request,然后另一个设备(称之为Completer)通过Completion Packet返回数据或者错误信息。 在PCIe Spec中…

2024 新版DataGrip安装使用教程(附激活至2099年,以及常见问题处理)

DataGrip 简介 在数据库管理与开发领域,JetBrains 推出的 DataGrip 无疑是一款备受瞩目的工具。它以其对多种数据库引擎的广泛支持而著称,为开发人员和数据库管理员提供了一站式的便捷解决方案。 DataGrip 支持 MySQL、PostgreSQL 等开源数据库,能让使用这些流行数据库的开发…

解锁宠物用品行业的市场密码:看板软件如何助力精准用户调研?

看板软件可以通过数据可视化与分析、供应链优化、售后管理与服务提升以及品牌建设与用户互动等方式,为宠物用品行业解决用户调研中的痛点问题。然而,需要注意的是,看板软件只是解决方案的一部分,企业还需要结合实际情况和市场需求进行综合考虑和实施。宠物用品行业用户调研…