• 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 
    
    • 1
    • 2
    • 3
    • 4

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

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

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

    (3)生成requirements.txt

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

    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。详见下图
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    在这里插入图片描述

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

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

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

    在这里插入图片描述
    (PS:packages文件夹中存在有离线第三方依赖包,下载完成后请核对下数量)

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

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

    在这里插入图片描述

    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.运行程序,搞定收工。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  • 相关阅读:
    FineBI 项目资源迁移
    Go 实现插入排序算法及优化
    前端设计模式——模板方法模式
    5分钟了解LangChain的路由链
    2.1.6.10 漏洞利用-Smtp实验环境搭建
    杂货配送服务公司Instacart申请1亿美元纳斯达克IPO上市
    JUC并发编程——各种锁的理解(基于狂神说的学习笔记)
    含文档+PPT+源码等]精品基于Uniapp+SSM实现的校园心理健康APP[包运行成功]Android毕业设计Java项目源码论文
    V100 配置 Scanpy + Scvi + Pytorch
    自定义Flink kafka连接器Decoding和Serialization格式
  • 原文地址:https://blog.csdn.net/piao110liang/article/details/127923185