【Centos】安装python环境(一个脚本编译安装任意版本)

前言

前几天在Ubuntu上因为要装python环境,因此写了一个可编译安装任意python版本的脚本。

【Ubuntu】安装python环境(一个脚本编译安装任意版本)

然后拿去centos7系统试了一下,看看能不能通用,结果就报错了。后面经排查发现了脚本不通过的原因,那就是centos系统编译安装python的环境依赖与Ubuntu系统的有些不一样,所以修改了一下脚本。有需要的同学可以自取。

Centos7 安装python环境

新建一个install_python.sh文件

vi install_python.sh

编辑install_python.sh文件,然后填入如下内容。下面的python版本号可以自定义的。具体python有哪些版本号,可以查看下面连接

https://www.python.org/ftp/python/

在这里我安装的是python3.7.9版本的

#!/bin/bash
# by baiyu 2021 攻城狮白玉
#-----可变参数-start-----
# 要下载的python版本
# python的大版本号
py_version=3.7
# python的具体版本号
version=$py_version.9
# 要安装的路径
install_path=/usr/local/src/python37
#-----可变参数-end-----

echo -e '即将安装python$version'
echo -e '安装路径为$install_path'

# 安装依赖以及升级索引
yum -y groupinstall "Development tools"
yum install -y zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel

yum update -y
yum upgrade -y

# 创建安装目录文件夹
mkdir -p $install_path

# 下载python
echo -e '正在下载'
# 使用官方网址下载--速度可能比较慢
# wget https://www.python.org/ftp/python/$version/Python-$version.tgz
# 使用国内华为镜像源下载python
wget https://mirrors.huaweicloud.com/python/$version/Python-$version.tgz
echo -e "正在解压"
# 静默解压
tar -xzf Python-$version.tgz
# 删除压缩包
echo -e "解压完成,移除压缩包"
rm -rf Python-$version.tgz

echo -e "正在安装"
cd Python-$version
./configure --prefix=$install_path  # 配置安装位置
make
make install

echo -e "配置软连接"
rm -rf /usr/bin/python$py_version /usr/bin/pip$py_version
ln -s $install_path/bin/python$py_version /usr/bin/python$py_version
ln -s $install_path/bin/pip$py_version /usr/bin/pip$py_version

cd ..
rm -rf Python-$version
echo -e "完成安装Python-$version"

你们可以根据需要修改一下脚本对应的大版本号和具体版本号。 比如你们要安装python3.9.1版本的话,就修改版本号如下:

py_version=3.9  

version=$py_version.1

使用chmod命令,添加可执行权限,并执行脚本

chmod +x install_python.sh
./install_python.sh

静待安装之后,就可以在命令行键入python3.8直接进入python环境了

总结

本脚本是在centos7下,编译安装python环境的,不会与原有的python环境冲突。

安装完成后,在命令行输入安装的大版本号即可进入相应的python环境。

写在后面

如果觉得有用的话,麻烦一键三连支持一下攻城狮白玉并把本文分享给更多的小伙伴。你的简单支持,我的无限创作动力

猜你喜欢

转载自blog.csdn.net/zhh763984017/article/details/119915082