离线环境下自动化部署python环境(含openssl)

时间:2021-07-14 06:42:44

遇到有项目要在内网环境下安装python项目,所以空余时写了自动化部署python环境和python项目的脚本,由于项目涉密,这里仅提供自动化部署python环境的shell脚本,包括openssl的版本判断和安装

注 需要将相关安装包放在data目录下,或者修改脚本中的路径

没找到上传附件的地方,那就贴下路径好了

openssl的:1.0.2及上版本即可,脚本会自己判断的,若不是内网环境的话把下面这句话替换进去就行,用不着下载下来再放进去

wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz

python下载地址,自己挑版本,我用的是3.7.3系列

https://www.python.org/downloads/

#!/bin/bash
#install openssl
#Author:cyt echo "开始下载python所需依赖包"
yum -y install gcc gcc-c++ zlib zlib-devel libffi-devel openssl openssl-devel
openssl=`openssl version|awk -v FS=" " '{print $2}'|tr -cd "[0-9]" >&`
echo `openssl version`
if [[ $openssl -ge "" ]];
then
echo "符合python3所需要的openssl版本,开始安装python环境"
else
echo "openssl版本过低,即将升级openssl版本"
cd /data/
tar zxvf /data/openssl*
cd /data/openssl*
./config --prefix=/data/openssl
make
make install
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /data/openssl/bin/openssl /usr/bin/openssl
ln -s /data/openssl/include/openssl /usr/include/openssl
echo “/data/openssl/lib” >> /etc/ld.so.conf
ldconfig -v
openssl=`openssl version >&`
echo $openssl
if [[ $openssl =~ "1.0.2" ]];
then
echo "openssl版本已更新,开始安装python环境"
else
echo "不好意思,安装openssl失败,请检查环境或手动安装"
fi
fi #install python
cd /data/
tar zxvf /data/Python-3.7*
cd /data/Python*
export LANG=zh_CN.UTF-
export LANGUAGE=zh_CN.UTF-
./configure --prefix=/data/python3 --with-ssl
make && make install
ln -s /data/python3/bin/python3 /usr/bin/python3
ln -s /data/python3/bin/pip3 /usr/bin/pip3
python=`python3 -V >&`
echo $python
if [[ $python =~ "3.7" ]];
then
echo "python环境安装完成"
else
echo "不好意思,python安装失败,请检查环境或手动安装"
fi