You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何制作可在隔离系统Python3.9虚拟环境运行的项目压缩包?

规范的离线Python项目打包方案(适配隔离系统)

针对制作可部署到Python 3.9隔离系统的离线压缩包需求,以下是几种更规范的实现方式,替代之前的临时方案:

方法1:使用pip download预编译依赖包(推荐)

无需在GitLab Runner中激活虚拟环境,直接针对目标系统的Python版本和架构下载完整的预编译依赖(包含.so文件):

  1. 在Pipeline中确保使用与隔离系统一致的Python 3.9环境
  2. 执行命令将所有依赖下载到指定目录:
    pip download -r requirements.txt --dest ./deps --python-version 39 --platform manylinux_x86_64 --only-binary=:all:
    
    (--platform需根据隔离系统架构调整,如win_amd64或macosx_10_9_x86_64;--only-binary=:all:强制下载预编译wheel包,避免源码编译)
  3. 打包项目代码、requirements.txt和deps目录:
    zip -r project_offline.zip ./src ./requirements.txt ./deps
    
  4. 隔离系统部署流程:
    激活目标虚拟环境后,执行本地依赖安装:
    pip install -r requirements.txt --no-index --find-links=./deps
    
    优势:依赖包完全匹配目标环境,无缺失文件风险,流程清晰可追溯。

方法2:用pip-tools锁定依赖版本并批量下载

适合对依赖版本有严格管控的场景,确保离线环境与开发环境依赖完全一致:

  1. 在Runner中安装pip-tools:
    pip install pip-tools
    
  2. 从requirements.in(仅声明直接依赖)生成精确的锁定文件requirements.txt(包含所有间接依赖及版本):
    pip-compile requirements.in
    
  3. 下载锁定的依赖到本地目录:
    pip download -r requirements.txt --dest ./deps --python-version 39 --platform manylinux_x86_64
    
  4. 打包部署流程同方法1。
    优势:彻底避免跨环境的版本冲突,符合生产环境的依赖管控规范。

方法3:打包完整可移植虚拟环境

如果隔离系统允许直接使用预创建的虚拟环境,可在Runner中构建适配目标系统的venv,打包后直接运行:

  1. 在Runner中创建Python 3.9虚拟环境:
    python3.9 -m venv ./project_venv
    
  2. 激活venv并安装所有依赖:
    source ./project_venv/bin/activate
    pip install -r requirements.txt
    deactivate
    
  3. 打包虚拟环境与项目代码:
    zip -r project_venv.zip ./project_venv ./src
    
  4. 隔离系统部署:
    解压后直接激活venv即可运行,无需额外安装依赖:
    unzip project_venv.zip
    source ./project_venv/bin/activate
    python ./src/main.py
    
    注意:必须保证Runner的操作系统与隔离系统完全一致(如均为CentOS 7),否则虚拟环境会出现兼容性问题。

核心注意事项

  • 务必保证Runner的Python版本、操作系统架构与隔离系统完全匹配,否则预编译的.so文件无法正常加载。
  • 纯Python依赖可省略--platform参数,但带C扩展的依赖必须指定对应平台。
  • 如果隔离系统未预创建虚拟环境,可在压缩包中包含虚拟环境创建脚本,或指导用户创建后执行本地依赖安装。

内容的提问来源于stack exchange,提问作者Dino Cherian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 18:51:09