欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

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

程序员文章站 2022-08-17 14:46:53
遇到有项目要在内网环境下安装python项目,所以空余时写了自动化部署python环境和python项目的脚本,由于项目涉密,这里仅提供自动化部署python环境的shell脚本,包括openssl的版本判断和安装 注 需要将相关安装包放在data目录下,或者修改脚本中的路径 没找到上传附件的地方, ......

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

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

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

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

wget 

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

 

#!/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]" 2>&1`
echo `openssl version`
if [[ $openssl -ge "102" ]];
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 2>&1`
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-8
export language=zh_cn.utf-8
./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 2>&1`
echo $python
if [[ $python =~ "3.7" ]];
then
echo "python环境安装完成"
else
echo "不好意思,python安装失败,请检查环境或手动安装"
fi