CentOS7 离线部署 Python 项目

1.前言

主要过程如下:
(1)创建项目环境,生成requirements.txt文件。(如果已有可跳出)
(2)新建一个跟目标机器一样的操作系统,python环境的测试服务器,并下载Python项目所需第三方依赖包。
(3)从测试服务器下载依赖文件,上传至离线服务器上。
(4)安装Python 离线依赖包,运行 Python 项目。

PS1:本文中[pip3]是项目环境所设置。如果你本地提示无此命令,试试pip命令。
PS2:离线安装python教程地址

我以 window系统下开发环境,部署到 centos7 离线服务器上。

2.在测试服务器创建项目环境

如果已有requirements.txt,跳过本章节。
本项目主要是使用 pipenv 创建项目虚拟环境,如感兴趣详见 pipenv-教程
由于本项目未创建过程项目虚拟环境,所以导致无法生成requirements.txt文件。第一步就是要整理出项目虚拟环境,为生成requirements.txt文件做准备。

(1)创建项目虚拟环境

# 安装虚拟环境
pipenv install
# 进入虚拟环境
pipenv shell 

(2)依次重新安装第三方依赖包

注:反复执行程序,通过pipenv install 依次安装依赖包,直至不出现

# 安装第三方依赖包命令
pipenv install  --skip-lock

(3)生成requirements.txt

# 生成requirements.txt
pipenv lock                                # 生成速度慢,耐心等待
pipenv requirements > requirements.txt

3.在虚拟机中下载第三方依赖包

根据目标服务器,创建一样系统环境、python环境虚拟机。主要原因是,window开发环境依赖包和 目标服务器centos7环境所需依赖包差异很多,尽量在一样环境下载依赖包,避免奇奇怪怪报错。h
(注:离线安装python教程地址)

# 1.打开项目所在地址
cd                                # project_path为项目地址

# 2.下载第三方依赖包
pip3 download pipenv -d packages                # 下载pipenv依赖包,保存至packages文件夹,用于创建离线环境
pip3 download -d packages -r requirements.txt   # 下载requirements.txt相关依赖包

# 3.安装pipenv依赖包,进入项目虚拟环境
pip3 install pipenv --no-index --find-links=packages   # 从packages文件夹,安装pipenv
ln -s /usr/local/python3/bin/pipenv /usr/local/bin/pipenv  # 创建pipenv指令
pipenv shell                                               # 进入虚拟环境

# 4.通过requirements.txt 批量安装依赖包
pipenv run pip3 install --no-index --find-links=packages -r requirements.txt

# 5.测试运行
# 在虚拟环境下,执行你所需 ***.py 文件,运行成功则ok。详见下图

CentOS7 离线部署 Python 项目_第1张图片

图1:虚拟环境下执行python文件

4.转移第三方依赖包至目标服务器

  1. 从测试服务器中下载源代码 和 第三方依赖包
  2. 通过WinSCP.exe工具,将离线文件上传至服务器。(注:/home/python3文件夹,如果不存在,请手动创建)

CentOS7 离线部署 Python 项目_第2张图片
(PS:packages文件夹中存在有离线第三方依赖包,下载完成后请核对下数量)

图2:从测试服务器下载文件至本地

3. 从本地上传至目标服务器
上传至目标服务器的/home/python3/Smart_Construction-master文件夹 (注:按需上传至您的项目文件夹)

CentOS7 离线部署 Python 项目_第3张图片

5.在目标服务器离线安装python项目

# 1.打开项目文件夹
cd /home/python3/Smart_Construction-master

# 2.安装pipenv依赖包
pip3 install pipenv --no-index --find-links=packages   # 从packages文件夹,安装pipenv

# 3.进入项目虚拟环境
ln -s /usr/local/python3/bin/pipenv /usr/local/bin/pipenv  # 创建pipenv指令
pipenv shell                                               # 进入虚拟环境

# 4.通过requirements.txt 批量安装依赖包
pipenv run pip3 install --no-index --find-links=packages -r requirements.txt

# 5.运行程序,搞定收工。

你可能感兴趣的:(Python,python,服务器,开发语言)