CentOS7.9安装python3.10

CentOS7默认只安装了python2的版本,需要自己手动安装python3,方法如下:

一、升级openssl到1.1以上

# 1.安装对应的依赖库

sudo yum install -y zlib yum install zlib-devel openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++

# 2. 下载openssl安装文件

wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz   --no-check-certificate

# 3. 解压安装openssl,并进入openssl的目录

tar -zxvf openssl-1.1.1k.tar.gz

cd openssl-1.1.1.k

./config --prefix=/usr/local/openssl shared zlib

sudo make && make install

# 4. 备份当前openssl

mv /usr/bin/openssl /usr/bin/openssl.bak

mv /usr/include/openssl /usr/include/openssl.bak

# 5. 配置使用新版本

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/openssl/include/openssl /usr/include/openssl

# 6. 更新动态链接库数据并重新加载

echo /usr/local/openssl/lib >> /etc/ld.so.conf

ldconfig -v

# 7. 查看是否升级成功

openssl version

# 8. 如果缺少libssl.s0.1.1

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

二、安装Python3.10

1、安装依赖包

sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel gdbm-devel db4-devel libpcap-devel xz-devel make gcc gcc-c++

注意事项:如果升级了openssl ,需要解压源码包后修改vim /tmp/Python-3.10.8/Modules/Setup 文件,在文件末尾追加如下内容:

SSL=/usr/local/openssl

_ssl _ssl.c \

        -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \

        -L$(SSL)/lib -lssl -lcrypto

2、下载python3源码包,并解压编译      

#下载源码包wget https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz #此处可更换为自己想要的包名即可# 进入源码目录

cd Python-3.10.11

tar -zvxf Python-3.10.11.tgz

cd Python-3.10.11

#指定安装目录

sudo ./configure --prefix=/usr/local/python3 --with-ssl=/usr/local/openssl

#编译安装

sudo make && sudo make install && sudo make clean

3、设置环境变量

#软链接

sudo ln -s /usr/local/python3/bin/python3.10  /usr/bin/python3

sudo ln -s /usr/local/python3/bin/pip3.10  /usr/bin/pip3

#查看安装的python版本

python3 --version

pip3 list

4、如果yum无法正常使用,可能是3跟2冲突导致,修改如下文件即可

sudo vim /usr/bin/yum

sudo vim /usr/libexec/urlgrabber-ext-down

把文件里面的#!/usr/bin/python 也修改为#! /usr/bin/python2

你可能感兴趣的:(Linux/Unix,linux,python)