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

Centos7.9编译安装Python3.12

系统环境是VMware Workstation Pro 17上安装的虚拟机Centos 7.9,采用最小化安装。具体安装和配置步骤如下:

# 1. 关闭并禁用防火墙
systemctl stop firewalld # 关闭防火墙
systemctl disable firewalld # 禁止防火墙,重启也不会启动防火墙

# 2. 配置yum源
mkdir -p /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/ # 因为旧版yum源停止服务,备份后使用新的
curl -o /etc/yum.repos.d/Centos7-aliyun.repo https://mirrors.wlnmp.com/centos/Centos7-aliyun-x86_64.repo # 配置阿里云yum源,-o是将网络返回内容保存到指定文件
# 清理并重建缓存
yum clean all
yum makecache # 也可yum makecache fast更快

# 3. 安装常见依赖包
yum install -y zlib-devel openssl-devel bzip2-devel xz-devel libffi-devel sqlite-devel ncurses-devel readline-devel tk-devel gdbm-devel
yum install -y gcc make
yum install -y wget # 安装下载工具

# 4. 下载安装openssl-1.1.1w,为了解决编译Python时提示需要OpenSSL 1.1.1 or newer
openssl version # 默认带的OpenSSL 1.0.2k
mkdir /root/download # 创建下载目录
cd /root/download
wget https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-1.1.1w.tar.gz # 我下载失败,在Win11从https://openssl-library.org/source/old/1.1.1/index.html下载,然后执行:scp "C:\<your path>\openssl-1.1.1w.tar.gz" root@<ip of centos>:/root/download 将下载的文件上传到服务器,用FileZilla/Sftp等也可
tar -zxf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
make
make install
mv /usr/bin/openssl /usr/bin/openssl-old # 备份系统自带原始版本1.0.2k
# 建立软链接,以后使用openssl新版本1.1.1w
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

# 7. 下载和编译安装Python3.12源码
cd /root/download
wget https://www.python.org/ftp/python/3.12.7/Python-3.12.7.tgz
cd Python-3.12.7
export TCLTK_LIBS="-ltk8.5 -ltkstub8.5 -ltcl8.5" # 解决虽然安装了tk-devel,但_tkinter仍找不到。RHEL7和CentOS7上,开发包未提供tcl.pc和tk.pc文件,需要设置TCLTK_LIBS环境变量,记得Python3.10不用此设置,应该是3.11及以后需要的
./configure --with-openssl=/usr/local/openssl --prefix=/usr/local/python3.12
make
make install
# 检查/usr/local/bin在PATH环境变量中之后,添加下面软链接方便命令python3、pip3直接使用
ln -s /usr/local/python3.12/bin/python3.12 /usr/local/bin/python3
ln -s /usr/local/python3.12/bin/pip3.12 /usr/local/bin/pip3

以上步骤为本人实际使用过程记录,如遇什么问题可评探讨。


http://www.kler.cn/a/370446.html

相关文章:

  • 《汽车维护与修理》是什么级别的期刊?是正规期刊吗?能评职称吗?
  • 锐捷路由器网关RG-NBR6135-E和锐捷交换机 Ruijie Reyee RG-ES224GC 电脑登录web方法
  • 【Python运维】用Python管理Docker容器:从`docker-py`到自动化部署的全面指南
  • 国产编辑器EverEdit -重复行
  • 头歌答案--爬虫实战
  • SDL2基本的绘制流程与步骤
  • 如何在Linux下安装和配置Docker
  • 七,Linux基础环境搭建(CentOS7)- 安装Scala和Spark
  • Ubuntu 20.04 安装 OpenCV 和 OpenCV_contrib 教程
  • 计算机网络关键名词中英对照
  • WebGIS开发之编辑功能(分割、融合、捕捉、追踪)
  • 【QT】HTTP服务器
  • 数据挖掘:电商会员价值分析模型方案
  • txt数据转为pdf格式并使用base64解密输出
  • 【MATLAB源码-第194期】基于matlab的MB-OFDM仿真,超宽带(UWB)无线传输。对比LS/DFT及其改进算法。
  • Cmake Error:could not find any instance of Visual Studio.
  • 使用Git进行团队协作开发
  • (1)程序设计与数据结构连续剧
  • flex常用固定搭配
  • JS轮播图实现自动轮播、悬浮停止轮播、点击切换,下方指示器与图片联动效果
  • linux中各目录作用及介绍
  • c++中的this指针
  • Uniapp如何处理后端返回图片流验证码
  • YOLOv11在目标检测中的应用及其与PaddleDetection的对比
  • XXE 漏洞
  • CentOS系统安全配置详解:打造安全可靠的服务器防护