加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
centos8-install-python392.sh 3.12 KB
一键复制 编辑 原始数据 按行查看 历史
古寒飞 提交于 2024-04-11 20:43 . 123
#!/usr/bin/env bash
############################################################################
#
# 远程执行该脚本,请在命令行中直接执行以下命令:
#
# curl -sSL https://gitee.com/tay3223/biubiubiu/raw/master/centos8-install-python392.sh | /bin/bash
#
#
############################################################################
# 封装一个函数便于下文调用
function install_python3() {
# 安装编译工具
yum groupinstall -y 'Development Tools'
# 安装python时需要的依赖
yum install -y zlib-devel bzip2-devel openssl-devel git
# 后面pip运行时需要的依赖,现在把它安装好
yum install -y gcc mysql-devel openssl-devel libffi-devel
# 下载python的源码包
mkdir -p /tmp/bao/python
wget -c -P /tmp/bao/python/ https://osoc.oss-cn-shanghai.aliyuncs.com/bao/python/Python-3.9.2.tar.xz
# 这个目录里面存放了所有压缩包解压之后的源码(也就是还没编译之前的源码)
mkdir -p /tmp/source_code
# 解压python到指定目录中
tar Jxvf /tmp/bao/python/Python-3.9.2.tar.xz -C /tmp/source_code
# 进入源码目录,开始编译,编译安装到指定位置
cd /tmp/source_code/Python-3.9.2/
./configure --prefix=/usr/local/python39
make && make install
# 创建软连接,便于全局调用
ln -s /usr/local/python39/bin/python3.9 /usr/local/bin/python
ln -s /usr/local/python39/bin/pip3.9 /usr/local/bin/pip
# 添加环境变量(pip安装的软件会自动软连接到'python39/bin'的目录中;因此这个环境变量的添加,是为了让pip安装的软件生效)
THIS_PATH='export PATH=/usr/local/python39/bin:$PATH'
echo $THIS_PATH >>/etc/profile
}
# 封装一个函数便于下文调用
function print_explain() {
cat <<Tay
========================================================
注意:
python2在centos8中已经被全面废弃了,因此python命令是不存在的,
所以我们创建一个软连接,把python这个命令指向python3.9.2,
并不去触碰和占用系统自带的python3这个命令。
脚本运行状态:
1.python39安装完成(√)
2.python39软连接创建完成(√)
输入 python 时启动的是 python3.9.2 (这是我们本次自己安装的)
输入 python3 时启动的才是 python3.6.8(这是centos8自带的python版本)
========================================================
Tay
}
# 封装一个函数便于下文调用
function if_python_install() {
# 检测python3命令是否已经存在
python -V
# 根据存在与否,执行相应的代码
if [ $? -eq 0 ]; then
echo "centos8系统中的python命令已经存在,无需重复安装,已退出安装程序。。。"
else
#编译安装python3
install_python3
#在终端上打印提示说明
print_explain
fi
}
cat /etc/centos-release | grep -E '^CentOS Linux release 8'
if [ $? -eq 0 ]; then
echo "当前系统是Centos8系统,安装程序运行中..."
#调用上文中的函数
if_python_install
else
echo "当前系统不是Centos8系统,该脚本终止运行"
fi
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化