保姆级python项目离线部署服务器教程只需这一篇就够了
这篇文章主要记录我在湖南长沙国网电科院一次python项目部署,由于我主要是做Java后端开发对python确实不太了解因此记录下这次教程
环境介绍
服务器为linux的centos系统具体7还是8我不太清楚,全程为没有网络环境,所以环境全部需要离线安装.这里不我建议使用Anaconda虚拟环境进行安装,因为是离线环境.最好是能够准备一台有网络的centos虚拟机进行安装包的下载,方便环境一致这样项目部署后环境一般不会出现问题.
这里我主要分为俩部分进行讲解,第一部分为有网络环境搭建,第二部分为离线安装.因为离线安装需要在线下载相关依赖包,这里我使用的python版本为3.9.0,这里可以根据你们自己开发环境来修改自己的版本.
外网环境搭建
1.下载python3.9.0.tgz安装包(linux版本)
这里直接在官方网站找到版本好对应的安装包下载即可
官方网站: https://www.python.org/downloads/release/python-390/
2.将下载好的安装包通过Xftp工具上传至服务器
这里我直接上传至/home目录下
3.在外网centos服务器下安装yum-plugin-downloadonly安装包
这个主要是用来下载python3环境的依赖包
yum install yum-plugin-downloadonly
4.创建依赖包缓存目录
mkdir -p /home/python3
5.下载python3依赖安装包
yum reintall --downloadonly --downloaddir=/home/python3 libffi-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
6.将下载好的依赖包导出至/home/python3目录下方便我们后面去进行离线安装
yum reinstall --downloadonly --downloaddir=/home/python libffi-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
7.安装python3.9.0环境
因为这部比较简单所以不一一列举步骤,直接一步做完安装环境
#进入安装包目录
cd /home#解压安装包
tar -zxvf Python-3.9.0.tgz#创建编译安装目录
mkdir /usr/local/python3#进入解压后的目录
cd /home/Python-3.9.0#编译安装
./configure --prefix=/usr/local/python3make && make install#软连接配置python3系统路径
ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3#验证是否成功
python3 --version #显示3.9.0即为成功
3.9.0
这里使用python3的命令是因为一般情况下服务器默认安装了2.7.5的python环境需要进行区分,如果执行python --version 出来的就是2.7.5
8.将需要部署的项目上传至外网服务器上
这里我也上传至/home目录下
9.通过pip3下载所需要的项目依赖
pip3 install fastapi...
这里将项目所需要的依赖全部下载后,即可在外网服务器上运行项目
10.项目运行
#进入项目所在目录
cd /home/项目目录#运行python项目
python3 main.py
内网离线安装
在外网服务器下可以成功安装后,我们可以直接在内网环境下进行安装环境
1.创建依赖包缓存目录
mkdir -p /home/python3
2.将我们外网服务器 /home/python3下的文件复制进 内网服务器 /home/python3下
这里是通过内网U盘进行上传的,上传的文件都是python3的依赖安装包 .rpm后缀的文件
3.离线安装python39依赖安装包
cd /home/python3
rpm -Uvh ./*.rpm --nodeps --force
4.安装python3.9.0环境
这里还是一样通过内网U盘将Python-3.9.0.tgz安装包上传至内网服务器/home目录下
#进入安装包目录
cd /home#解压安装包
tar -zxvf Python-3.9.0.tgz#创建编译安装目录
mkdir /usr/local/python3#进入解压后的目录
cd /home/Python-3.9.0#编译安装
./configure --prefix=/usr/local/python3make && make install#软连接配置python3系统路径
ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3#验证是否成功
python3 --version #显示3.9.0即为成功
3.9.0
5.复制外网服务器中python39环境中的所有依赖到内网服务器中
这里首先将外网服务器的/usr/local/python3/lib/python3.9/site-packages/下的所有依赖上传到内网U盘,然后再上传至内网服务器的/usr/local/python3/lib/python3.9/site-packages/下即可,由于我这边没有root权限需要先将 外网服务器的依赖放在有权限的内网服务器目录,然后通过sudo的方式复制到 内网服务器的/usr/local/python3/lib/python3.9/site-packages/下
sudo cp -r /home/site-packages/* /usr/local/python3/lib/python3.9/site-packages/
6.运行项目即可
#进入项目所在目录
cd /home/项目目录#运行python项目
python3 main.py
总结
这次也是彻底搞明白整个python离线安装的流程,期间也是踩了无数坑由于现场没有网络,在酒店与现场来来回回很多躺最终将项目运行成功.
n3/lib/python3.9/site-packages/
## 6.运行项目即可```shell
#进入项目所在目录
cd /home/项目目录#运行python项目
python3 main.py
总结
这次也是彻底搞明白整个python离线安装的流程,期间也是踩了无数坑由于现场没有网络,在酒店与现场来来回回很多躺最终将项目运行成功.
写在最后
如果你想了解更多关于全干程序员demo,可以关注公众号-全干程序员demo,后面文章会首先同步至公众号。