centOS7 制作可移植的Python环境
缘由
在一次部署中发现客户主机是脱离了互联网,由于没有Python的依赖库所以Python压缩版本都无法安装,然后在环境相同的centos上面制作一个已经编译好的Python环境copy到该离线的centos中使用,这样就解决客户主机离线状态的问题
利弊
利:
1、 可以解决离线问题
2、 能多版本兼容切互不影响
3,、 可以简化部署是的流程
弊:
1、 每次更新三方库的时候就需要重新copy更新库后的环境
制作步骤
安装Python依赖
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
下载Python安装包
wget https://www.python.org/ftp/python/3.8.6/Python-3.8.6.tgz
如果提示:-bash: wget: 未找到命令
安装wget:
yum -y install wget
然后在下载Python包
解压
tar -zxvf Python-3.8.6.tgz
进入文件夹
cd Python-3.8.6
创建安装目录
mkdir /home/python3
设置安装路径
./configure -prefix=/usr/local/python3
此时出现了错误,具体错误如下
原因及解决方法:
缺少gcc编译环境,安装gcc
yum -y install gcc
gcc安装成功后再设置安装路径
然后编译安装
make && make install
当出现下图时,安装成功
联网centos测试使用
查看Python版本
/home/python3/bin/python3 -V
查看pip版本
/home/python3/bin/pip3 -V
调用方式
/home/python3/bin/python3 + py文件路径
eg: /home/python3/bin/python3 /home/hello.py
离线centos使用
将Python3环境打包
tar -zcvf python3-centos7.tgz python3
python3.8.6-centos7离线包,百度盘地址
链接:https://pan.baidu.com/s/1hMHsFR_1j5AksFTlIKMchQ 提取码:2nwm
copy到物理机
sftp> cd /home/ sftp> lcd C:\Users\Administrator\Desktop sftp> get python3-centos7.tgz
copy到离线的centos
sftp> cd /home/ sftp> lcd C:\Users\Administrator\Desktop sftp> put python3-centos7.tgz
解压
tar -zxf python3-centos7.tgz python3
测试
/home/python3/bin/python3 hello.py