fpm打包python3.7安装过程为rpm
python3.7安装包
需要的安装包
-
Python3.7
wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tar.xz
-
openssl安装包
wget https://www.openssl.org/source/openssl-1.0.2t.tar.gz
after-install 脚本
install_py37.sh
#!/bin/sh date_str=`date +%F_%T` function install_openssl(){ if [ -d /usr/local/openssl ];then mv /usr/local/openssl /usr/local/openssl-$date_str fi echo -e " 33[33m====> 安装openssl 33[0m" cd /usr/local tar -xzvf openssl-1.0.2t.tar.gz cd openssl-1.0.2t/ ./config --prefix=/usr/local/openssl shared zlib make && make install # 加入系统环境变量 echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openssl/lib" >> /etc/profile source /etc/profile } function install_py37(){ if [ -d /usr/local/python37 ];then mv /usr/local/python37 /usr/local/python37-$date_str fi echo -e " 33[33m====> 安装python3.7 33[0m" cd /usr/local tar -xJvf Python-3.7.5.tar.xz cd Python-3.7.5/ ./configure --prefix=/usr/local/python37 --with-openssl=/usr/local/openssl make && make install if [ -e /usr/local/bin/python3.7 ];then /bin/rm /usr/bin/python3.7 fi if [ -e /usr/bin/pip3.7 ];then /bin/rm /usr/bin/pip3.7 fi ln -s /usr/local/python37/bin/python3.7 /usr/bin/python3.7 ln -s /usr/local/python37/bin/pip3.7 /usr/bin/pip3.7 } function clean(){ echo -e " 33[33m====> 清除文件 33[0m" /bin/rm -rf /usr/local/{openssl-1.0.2t.tar.gz,Python-3.7.5.tar.xz} /bin/rm -rf /usr/local/openssl-1.0.2t /bin/rm -rf /usr/local/Python-3.7.5 } echo -e " 33[33m====> 安装依赖 33[0m" yum install -y zlib zlib-dev openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++ install_openssl if [ $? == 0 ];then install_py37 if [ $? == 0 ];then echo -e " 33[32m安装python3.7成功! 33[0m" clean exit 0 else echo -e " 33[31m安装python3.7失败 33[0m" exit 1 fi else echo -e " 33[31m安装openssl失败! 33[0m" exit 1 fi
打包
fpm -t rpm -s dir -f -m test -n python3.7 -v 0.1 --after-install install_py37.sh openssl-1.0.2t.tar.gz=/usr/local/ Python-3.7.5.tar.xz=/usr/local/