Tạo một file lưu cấu hình tên là params.ini với nội dung là phiên bản Python muốn cài:
PY_VERSION='3.9.18'
Thật ra không cần dùng file 'param.ini' cũng được, nhưng tôi có thói quen đọc/sửa mọi thứ từ file cấu hình cho tiện, không muốn sau này phải sửa trực tiếp từ script.
Tiếp theo là script cài đặt Python và gói 'virtualenv' (rất cần thiết)
Dán đoạn code sau vào:
Hết!
vim python3_install.sh
Dán đoạn code sau vào:
#!/usr/bin/env bash
# exit on error
set -o errexit
params_file='params.ini'
#Including .ini file
. $params_file
if [ ! -f $params_file ]; then
echo "$params_file does not exist. Exit setup."
exit
fi
version=${PY_VERSION}
#version='3.9.18'
name_version="Python-$version"
python_source="https://www.python.org/ftp/python/$version/$name_version.tgz"
# ------------
# Get the Python version
python_version=$(python3 -V 2>&1 | awk '{print $2}')
# Check if the Python version is '3.9.18'
if [ "$python_version" == $version ]; then
echo "Python version is $version. Exiting."
exit 0
fi
# ------------
if [ -d "$name_version" ]; then
echo "$name_version already installed."
else
echo "MUST-BE-RUN: 'build_os.sh' first."
echo "......."
echo "Install python3 from source..."
yum install python3-devel sqlite-devel -y
wget $python_source
tar -xzvf "$name_version.tgz"
cd $name_version
./configure
make && make altinstall
rm -rf /usr/bin/python3
rm -rf /usr/bin/python
rm -rf /usr/bin/pip3
rm -rf /usr/bin/pip
rm -rf /usr/local/bin/pip3
rm -rf /usr/local/bin/pip
ln -s /usr/local/bin/python3.9 /usr/bin/python3
ln -s /usr/local/bin/python3.9 /usr/bin/python
ln -s /usr/local/bin/pip3.9 /usr/bin/pip3
ln -s /usr/local/bin/pip3.9 /usr/bin/pip
ln -s /usr/local/bin/pip3.9 /usr/local/bin/pip3
ln -s /usr/local/bin/pip3.9 /usr/local/bin/pip
python3 -m pip install --upgrade pip
pip install virtualenv
ln -s /usr/local/bin/virtualenv /usr/bin/virtualenv
mkdir -p /opt/envs
#chmod 755 /opt/envs
fi
Phân quyền chạy cho script:
chmod a+x python3_install.sh
Tiến hành chạy script để cài đặt Python 3.9.18 tự động:
sh python3_install.sh
Hết!