17370845950

Python 环境安装过程的自动化脚本
该脚本自动检测系统类型并安装Python 3.11:首先判断为Debian或RHEL系,安装对应编译依赖,下载Python 3.11.9源码包,解压后配置优化选项并编译安装至/usr/local,创建python3和pip3软链接,清理临时文件后验证版本,最终完成环境部署。

以下是一个用于自动化安装 Python 环境的 Bash 脚本,适用于 Ubuntu/Debian 或 CentOS/RHEL 系统。该脚本会自动检测系统类型、安装依赖、下载并编译 Python 源码(以 Python 3.11 为例),设置软链接,并验证安装结果。

自动化安装 Python 环境

手动安装 Python 时常常需要重复执行多个命令,尤其是在部署多台服务器时。使用自动化脚本能显著提升效率,减少人为错误。

支持主流 Linux 发行版

脚本首先判断当前系统是基于 Debian 还是 Red Hat,并安装相应的构建依赖:

  • Ubuntu/Debian:安装 build-essential、zlib1g-dev、libssl-dev 等
  • CentOS/RHEL:安装 gcc、zlib-devel、openssl-devel 等

#!/bin/bash
# auto_install_python.sh
# 自动化安装 Python 3.11

PYTHON_VERSION="3.11.9" PYTHON_SRC_DIR="/tmp/python-src" INSTALL_PREFIX="/usr/local"

echo "正在检测操作系统..."

if command -v apt > /dev/null; then echo "检测到 Debian/Ubuntu 系统" apt update apt install -y wget build-essential libffi-dev libz-dev \ libssl-dev libbz2-dev libreadline-dev libsqlite3-dev elif command -v yum > /dev/null; then echo "检测到 CentOS/RHEL 系统" yum groupinstall -y "Development Tools" yum install -y wget zlib-devel bzip2 bzip2-devel readline-devel \ sqlite sqlite-devel openssl-devel libffi-devel else echo "不支持的系统:无法找到 apt 或 yum" exit 1 fi

echo "开始下载 Python $PYTHON_VERSION..." mkdir -p $PYTHON_SRC_DIR cd $PYTHON_SRC_DIR wget -O Python-$PYTHON_VERSION.tgz https://www./link/6bcbf359dd1fca3e6b281096abb24303 tar -xzf Python-$PYTHON_VERSION.tgz cd Python-$PYTHON_VERSION

echo "配置并编译 Python..." ./configure --prefix=$INSTALL_PREFIX --enable-optimizations --with-system-ffi --with-ensurepip=install make -j$(nproc) make altinstall

echo "创建 python3 和 pip3 软链接..." ln -sf $INSTALL_PREFIX/bin/python3.11 /usr/local/bin/python3 ln -sf $INSTALL_PREFIX/bin/pip3.11 /usr/local/bin/pip3

echo "清理临时文件..." rm -rf $PYTHON_SRC_DIR

echo "验证安装..." python3 --version pip3 --version

echo "Python 环境安装完成!"

如何使用此脚本

将上述脚本保存为 install_python.sh,然后赋予执行权限并运行:

  • chmod +x install_python.sh
  • sudo ./install_python.sh

脚本结束后,系统中将可用 python3pip3 命令。

注意事项与扩展建议

实际使用中可根据需求调整版本号或添加功能:

  • 可加入参数传入 Python 版本,实现灵活调用
  • 在 CI/CD 中集成此脚本,配合 Ansible 更高效
  • 若需虚拟环境支持,可在最后自动安装 virtualenv
  • 注意 make altinstall 避免覆盖系统默认 python

基本上就这些,不复杂但容易忽略细节。