root用户执行部分,安装编译环境

查看gcc版本,没有则先安装,否则下面的dnf(yum)执行会报错软件包 gcc-8.5.0-4.el8_5.x86_64 需要 glibc-devel >= 2.2.90-12,但没有提供者可以被安装,编译期间反复报错,此处执行了好几次dnf命令,下面的dnf是最终的依赖安装命令

dnf install -y gcc
gcc --version
dnf install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel xz-devel libffi-devel automake autoconf libtool make

image-VsNi.png

image-asjd.png

image-oGve.png

切换到普通用户执行部分,编译源码

解压python源码

tar -xvf Python-3.13.6.tgz

image.png
查看cpu数量

lscpu

image-vJsM.png

mkdir python3136
cd ../Python-3.13.6

先创建编译python二进制文件文件夹,然后进入到python的源码文件夹。源码文件夹与二进制文件夹都在/home/xx这个用户文件夹下

image-mhAD.png
0cd83344-f857-4899-b3ea-07f8752dfeef-CTci.png

运行配置脚本以检查系统环境并生成Makefile文件,开始编译。因为当前主机为4核,因此设置4核同时编译

./configure --prefix=/home/xx/python3136 --enable-optimizations
make -j 4
make altinstall

image-Elal.png

image-WMzq.png

image-Clll.png

现在已经基于python源码完成了python的编译和安装。
这是编译后bin目录下的所有可执行文件。
image-Ssqs.png

基于python3.13.6创建项目需要使用的虚拟环境

因为龙蜥8.6自身有低版本的python3.6.8,因此通过绝对路径来使用python3.13.6来创建虚拟环境。

/home/xx/python3136/bin/python3.13 -m venv venv

image-QCLD.png

进入虚拟环境,并查看python和pip的版本。

source ./venv/bin/activate

image-nUdh.png