#!/bin/bash
# 加载公共函数库
source <(curl -sSL https://www.klquan.com/scripts/common.sh)

# 基础配置（每个脚本不一样）
server="Python-3"
home="/usr/local"
download_patch="https://www.python.org/downloads/"

# 1.获取软件安装包并选择版本
all_package=($(get_packages "$server" "$download_patch"))
package=$(select_version "$1" "${all_package[@]}")
show_usage

# 2.确认信息
countdown "$home" "$package"

# 3.安装过程
echo "【1】安装编译依赖"
#yum install -y gcc make zlib-devel bzip2 bzip2-devel readline-devel \
#sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel >/dev/null 2>&1
yum -y install zlib-devel openssl-devel >/dev/null 2>&1
yum -y install gcc gcc-c++ make autoconf readline readline-devel >/dev/null 2>&1
check

echo "【2】下载源码包并解压"
curl -L -o "$home/$package" -# "$packages_url$package"
cd "$home"
server_dir=$(tar -tf "$package" 2>/dev/null | head -1 | cut -f1 -d"/")
tar xf "$package" && rm -f "$package"
check

echo "【3】初始化服务"
cd "$home/$server_dir"
./configure --prefix=$home/python3 >/dev/null 2>&1
check

echo "【4】编译安装"
echo "  4.1 make"
make -j$(nproc) >/dev/null 2>&1
check
echo "  4.2 make install"
make install >/dev/null 2>&1
check

echo "  4.3 创建软链接"
ln -sf /usr/local/python3/bin/python3 /usr/local/bin/python3
ln -sf /usr/local/python3/bin/pip3 /usr/local/bin/pip3
ln -sf /usr/local/python3/bin/pydoc3 /usr/local/bin/pydoc3 2>/dev/null || true
ln -sf /usr/local/python3/bin/python3-config /usr/local/bin/python3-config 2>/dev/null || true
check

echo "【5】配置pip镜像"
mkdir -p ~/.pip
cat > ~/.pip/pip.conf << EOF
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
extra-index-url = 
    https://mirrors.aliyun.com/pypi/simple/
    https://pypi.douban.com/simple/
[install]
trusted-host = 
    pypi.tuna.tsinghua.edu.cn
    mirrors.aliyun.com
    pypi.douban.com
timeout = 120
EOF

#echo "【6】安装常用工具"
#pip3 install --upgrade pip
#pip3 install virtualenv virtualenvwrapper ipython jupyter
#check

echo "【完成】路径在/usr/local/python3"
echo "    ····执行python3 --version查看版本"
