#!/bin/bash#===============================================================# Python 安装脚本 - 支持 CentOS/Rocky/Ubuntu/Debian#===============================================================set -e# 获取脚本目录SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"source "$SCRIPT_DIR/common.sh"check_rootdetect_osecho "=========================================="echo "Python 安装脚本"echo "=========================================="show_os_info#===============================================================# 配置变量#===============================================================PYTHON_VERSION="3.12.13"PYTHON_URL="https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz"INSTALL_PREFIX="$ISP_APPS/python3"#===============================================================# 安装编译依赖#===============================================================echo ""echo "[1/4] 安装编译依赖..."case $OS_FAMILY inrhel)pkg_install gcc gcc-c++ make \openssl-devel bzip2-devel libffi-devel \zlib-devel xz-devel sqlite-devel \readline-devel ncurses-devel gdbm-devel \tk-devel;;debian)pkg_install gcc g++ make \libssl-dev libbz2-dev libffi-dev \zlib1g-dev liblzma-dev libsqlite3-dev \libreadline-dev libncurses-dev libgdbm-dev \tk-dev;;esac#===============================================================# 下载源码#===============================================================echo ""echo "[2/4] 下载 Python ${PYTHON_VERSION}..."cd $ISP_PKGSif [ ! -f "Python-${PYTHON_VERSION}.tgz" ]; thendownload_file "$PYTHON_URL"fi#===============================================================# 编译安装#===============================================================echo ""echo "[3/4] 编译安装 Python..."tar -xzf Python-${PYTHON_VERSION}.tgzcd Python-${PYTHON_VERSION}# 配置./configure \--prefix=$INSTALL_PREFIX \--enable-optimizations \--with-lto \--enable-shared \LDFLAGS="-Wl,-rpath,$INSTALL_PREFIX/lib"# 编译 (使用所有 CPU 核心)make -j$(nproc)# 安装make install# 创建符号链接ln -sf $INSTALL_PREFIX/bin/python3 $INSTALL_PREFIX/bin/pythonln -sf $INSTALL_PREFIX/bin/pip3 $INSTALL_PREFIX/bin/pipecho -e "${GREEN}Python 编译安装完成${NC}"#===============================================================# 配置环境变量#===============================================================echo ""echo "[4/4] 配置环境变量..."# 添加到 profileif ! grep -q "PYTHON_HOME=$INSTALL_PREFIX" /etc/profile; thencat >> /etc/profile << EOF# Python Environmentexport PYTHON_HOME=$INSTALL_PREFIXexport PATH=\$PYTHON_HOME/bin:\$PATHexport LD_LIBRARY_PATH=\$PYTHON_HOME/lib:\$LD_LIBRARY_PATHEOFecho -e "${GREEN}环境变量配置完成${NC}"fi# 立即生效export PATH=$INSTALL_PREFIX/bin:$PATHexport LD_LIBRARY_PATH=$INSTALL_PREFIX/lib:$LD_LIBRARY_PATH# 升级 pipecho "升级 pip..."$INSTALL_PREFIX/bin/pip install --upgrade pip# 安装常用包echo "安装常用 Python 包..."$INSTALL_PREFIX/bin/pip install virtualenv requests#===============================================================# 创建管理脚本#===============================================================cat > $ISP_BIN/python.sh << 'SCRIPT'#!/bin/bashPYTHON_HOME=/home/isp/apps/python3case "1ドル" invenv)shift$PYTHON_HOME/bin/python -m venv "$@"echo "虚拟环境已创建: 1ドル";;pip)shift$PYTHON_HOME/bin/pip "$@";;version)$PYTHON_HOME/bin/python --version;;*)echo "Python 3.12 管理脚本"echo ""echo "使用方法:"echo " 0ドル venv <目录> 创建虚拟环境"echo " 0ドル pip <命令> 执行 pip 命令"echo " 0ドル version 显示版本"echo ""echo "直接使用:"echo " python --version"echo " pip install <包名>";;esacSCRIPTchmod +x $ISP_BIN/python.sh#===============================================================# 完成#===============================================================echo ""echo -e "${GREEN}=========================================="echo "Python 安装完成!"echo "==========================================${NC}"echo ""echo "安装位置: $INSTALL_PREFIX"echo "Python 版本: $($INSTALL_PREFIX/bin/python --version)"echo "Pip 版本: $($INSTALL_PREFIX/bin/pip --version)"echo ""echo "使用方法:"echo " python --version # 查看版本"echo " pip install <包名> # 安装包"echo " python -m venv myenv # 创建虚拟环境"echo ""echo "请执行以下命令使环境变量生效:"echo " source /etc/profile"
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。