内网centos服务器离线部署python项目

部署运行你感兴趣的模型镜像

核心思路

在能上网的机器上,创建一个包含你所有依赖包的文件夹(site-packages),然后将这个文件夹连同你的 app.py 一起拷贝到内网。通过在内网Python中设置 PYTHONPATH 环境变量,让解释器能够找到这个离线的依赖包文件夹。


步骤一:在联网机器上准备环境

  1. 创建项目文件夹
    在你的U盘上或本地电脑上创建一个清晰的文件夹结构,例如:

    MyOfflineApp/
    ├── app.py              # 你的主程序文件
    ├── requirements.txt    # 依赖列表文件(如果没有,需要创建)
    └── offline_packages/   # 用于存放所有依赖包的文件夹
    
  2. 生成 requirements.txt 文件(如果还没有)
    打开终端(CMD或PowerShell),进入你的项目目录(MyOfflineApp),运行:

    pip freeze > requirements.txt
    

    注意:这会导出你当前Python环境中的所有包。如果你的环境很“干净”(只安装了本项目需要的包),这是最方便的方法。如果环境很乱,建议先创建一个虚拟环境,在虚拟环境中安装好 Flaskddddocr 后再执行 pip freeze

    更推荐的方法(使用虚拟环境)

    # 在项目目录下创建虚拟环境
    python -m venv venv
    
    # 激活虚拟环境
    # Windows:
    .\venv\Scripts\activate
    # Linux/MacOS:
    source venv/bin/activate
    
    # 激活后,安装你需要的包
    pip install flask ddddocr
    
    # 然后导出 requirements.txt
    pip freeze > requirements.txt
    
  3. 下载所有依赖包到指定文件夹
    在终端中,确保还在项目目录下,运行以下命令来将所有依赖包(包括它们的依赖)下载到 offline_packages 文件夹中:

        pip download -r requirements.txt -d ./offline_packages
    

    执行成功后,offline_packages 文件夹里会装满很多 .whl.tar.gz 文件。


步骤二:拷贝到内网并运行

  1. 拷贝整个项目
    将整个 MyOfflineApp 文件夹拷贝到你的U盘,然后复制到内网电脑的某个位置,例如 D:\MyOfflineApp\

  2. 在内网电脑上安装依赖
    打开内网电脑的命令提示符(CMD)PowerShell,导航到你的项目目录:

    cd D:\MyOfflineApp
    

    使用 pip install 命令从本地文件夹(而不是从互联网)安装所有依赖:

    pip install --no-index --find-links=./offline_packages -r requirements.txt
    
    • --no-index:禁止pip访问PyPI(互联网索引)。
    • --find-links=./offline_packages:告诉pip去 ./offline_packages 这个文件夹里找安装包。

    如果内网电脑无法直接运行pip命令(比如权限问题),你也可以采用另一种“笨办法”:
    offline_packages 文件夹重命名为 site-packages,然后通过设置环境变量让Python识别它。

  3. 运行你的程序
    依赖安装成功后,你就可以像平常一样运行你的Flask应用了:

    python app.py
    

备用方案:直接拷贝 site-packages(适用于简单项目或紧急情况)

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值