Loading

CentOS 7.9编译安装Python-3.10.13

查看CentOS版本、系统默认gcc版本、Python版本和pip版本

cat /etc/redhat-release
gcc --version
python -V
pip -V

查看 OpenSSL 版本

!!! pip3 需要 openssl 版本 > 1.1.1

Could not build the ssl module!
Python requires a OpenSSL 1.1.1 or newer
  1. 查看 openssl 版本
openssl version
# OpenSSL 1.0.2k-fips  26 Jan 2017
  1. 安装 openssl
  • 下载 openssl 编辑安装
# 下载
wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1d.tar.gz
# 解压
tar -zxvf OpenSSL_1_1_1d.tar.gz
  • 编译安装
# 进入目录
cd openssl-OpenSSL_1_1_1d
# 指定安装路径并编译
./config --prefix=/usr/local/openssl // 指定安装路径
make && make install
  • 替换当前系统的旧版本 openssl 「先保存原来的」
mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/lib64/openssl /usr/lib64/openssl.old
mv /usr/lib64/libssl.so /usr/lib64/libssl.so.old
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so /usr/lib64/libssl.so
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v // 建立动态链接
  • 最后查看当前系统 openssl 版本
penssl version
# OpenSSL 1.1.1d  10 Sep 2019

部署Python-3.10.13

  1. 下载Python-3.10.13.tar.xz,Python官网:https://www.python.org/
  2. 安装编译依赖软件包及包组
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel man
  1. 编译安装Python-3.10.13
tar -xf Python-3.10.13.tar.xz -C /usr/src
cd /usr/src/Python-3.10.13
./configure --prefix=/usr/local/python-3.10.13 --enable-shared --enable-profiling --disable-ipv6 --with-pymalloc --with-openssl=/usr/local/openssl --with-doc-strings --enable-loadable-sqlite-extensions | tee /tmp/python-3.10.13.out
less /tmp/python-3.10.13.out
make -j 8
make install
  1. 更改CentOS 7.9默认Python版本为3.10.13
which python
mv /usr/bin/python /usr/bin/python-2.7.5
ln -s /usr/local/python-3.10.13/bin/python3 /usr/bin/python
ln -s /usr/local/python-3.10.13/bin/pip3 /usr/bin/pip
  1. 添加至PATH环境变量
# vim /etc/profile.d/python-3.10.13.sh
export PATH=/usr/local/python-3.10.13/bin:$PATH
. /etc/profile.d/python-3.10.13.sh
echo $PATH
  1. 配置头文件
ln -s /usr/local/python-3.10.13/include /usr/include/python-3.10.13
  1. 配置库文件
echo "/usr/local/python-3.10.13/lib" > /etc/ld.so.conf.d/python-3.10.13.conf
cat /etc/ld.so.conf.d/python-3.10.13.conf
ldconfig
  1. 查看部署后的Python和pip版本
python -V
python3 -V
pip -V

测试

vim /tmp/test.py
#!/usr/bin/python
import os

# 获取操作系统类型
os_type = os.uname().sysname
print("操作系统类型:",os_type)

# 获取操作系统版本
os_version = os.uname().release
print("操作系统版本:",os_version)

# 获取主机名
hostname = os.uname().nodename
print("主机名:",hostname)

# 获取CPU信息
cpu_info = os.popen('cat /proc/cpuinfo | grep "model name"').read().strip()
print("CPU信息:")
print(cpu_info)

# 获取内存信息
mem_info = os.popen('cat /proc/meminfo | grep "MemTotal"').read().strip()
print("内存信息:")
print(mem_info)

# 获取磁盘使用情况
disk_usage = os.popen('df -h').read().strip()
print("磁盘使用情况:")
print(disk_usage)

# 获取/tmp目录下的文件信息
print("/tmp目录下的文件信息:")
os.system('ls -lh /tmp')
python /tmp/test.py

将yum中的Python版本修改为系统原来的2.7.5版本

!!! 升级Python后会导致yum无法使用

# 将第一行的“#!/usr/bin/python”修改为“#!/usr/bin/python-2.7.5”
vim /usr/bin/yum
# 将第一行的“#! /usr/bin/python”修改为“#! /usr/bin/python-2.7.5”
vim /usr/libexec/urlgrabber-ext-down
posted @ 2024-04-16 10:39  ThankCAT  阅读(253)  评论(0编辑  收藏  举报