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

作者:Hovey

出处:https://www.cnblogs.com/thankcat/p/18137618

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   ThankCAT  阅读(324)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示