作者:Chancel, 时间:2023 Mar 03, 阅读:84
安装编译所需程序
Ubuntu2204
sudo apt -y install git gcc libgdbm-dev make patch libssl-dev libsqlite3-dev libbz2-dev libreadline-dev build-essential python-dev python-setuptools zlib1g-dev openssl libffi-dev
Cent7 OS
sudo yum -y install wget xz tar gcc make tk-devel sqlite-devel zlib-devel readline-devel openssl-devel curl-devel tk-devel gdbm-devel xz-devel bzip2-devel
Alpine
sudo apk add wget curl vim git build-base openssl-dev zlib-dev libffi-dev make automake gcc g++ subversion python3-dev
在Python官网选择合适的安装包,我这里选择的是Python3.7.2
mkdir /tmp/python3.7.2 && cd /tmp/python3.7.2
wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
tar -zxvf Python-3.7.2.tar.gz && cd Python-3.7.2
选择Python的安装目录并编译,我这里选择安装在 $HOME/apps/pythons
中,避免使用 sudo
权限
mkdir -p $HOME/apps/pythons/3.7.2/lib
./configure --prefix=$HOME/apps/pythons/3.7.2 --enable-shared LDFLAGS="-Wl,-rpath $HOME/apps/pythons/3.7.2/lib"
make
make install
以上编译步骤我制作了一个简易的bash文件可供安装Python任意版本时使用
#author:Chancel.Yang
#date:2022-08-12
python_install_path=$2
if [[ -z $2 ]]
then
python_install_path=$HOME'/apps/pythons'
fi
mkdir -p $python_install_path/bin
cd $python_install_path
# install before clean all files
rm -f Python-$1.tgz
rm -rf Python-$1
rm -rf $python_install_path/$1
wget --no-check-certificate https://www.python.org/ftp/python/$1/Python-$1.tgz
tar -zxvf Python-$1.tgz
rm -f Python-$1.tgz
cd Python-$1
mkdir -p $python_install_path/$1/lib
./configure --prefix=$python_install_path/$1 --enable-shared LDFLAGS="-Wl,-rpath $python_install_path/$1/lib"
make
make install
ln -s $python_install_path/$1/bin/python3 -s $python_install_path/bin/python$1
ln -s $python_install_path/$1/bin/pip3 -s $python_install_path/bin/pip$1
rm -rf $python_install_path/Python-$1
使用方法如下
bash install-py.sh 3.7.2