主要过程如下:
(1)创建项目环境,生成requirements.txt文件。(如果已有可跳出)
(2)新建一个跟目标机器一样的操作系统,python环境的测试服务器,并下载Python项目所需第三方依赖包。
(3)从测试服务器下载依赖文件,上传至离线服务器上。
(4)安装Python 离线依赖包,运行 Python 项目。
PS1:本文中[pip3]是项目环境所设置。如果你本地提示无此命令,试试pip命令。
PS2:离线安装python教程地址
我以 window系统下开发环境,部署到 centos7 离线服务器上。
如果已有requirements.txt,跳过本章节。
本项目主要是使用 pipenv 创建项目虚拟环境,如感兴趣详见 pipenv-教程
由于本项目未创建过程项目虚拟环境,所以导致无法生成requirements.txt文件。第一步就是要整理出项目虚拟环境,为生成requirements.txt文件做准备。
# 安装虚拟环境
pipenv install
# 进入虚拟环境
pipenv shell
注:反复执行程序,通过pipenv install 依次安装依赖包,直至不出现
# 安装第三方依赖包命令
pipenv install --skip-lock
# 生成requirements.txt
pipenv lock # 生成速度慢,耐心等待
pipenv requirements > requirements.txt
根据目标服务器,创建一样系统环境、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。详见下图
(PS:packages文件夹中存在有离线第三方依赖包,下载完成后请核对下数量)
# 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.运行程序,搞定收工。