Ran's note

Ran's note

uv管理的项目部署到离线环境

2
2026-01-08

使用uv下载python

将完整的python安装到指定目录中

# 将python3.14安装到python-env目录中
uv python install -i ./python-env cpython-3.14

下载依赖

# 使用pyproject.toml生产pip可用的requirements.txt
uv pip compile pyproject.toml -o requirements.txt

# 激活当前项目的虚拟环境
. .venv/bin/activate

# 使用pip下载所有的whl文件
pip download -r requirements.txt --dest wheels --only-binary=:all:

# 需要测试,下载不同平台的安装包
pip download -r requirements.txt --dest wheels --python-version 3.12 --platform linux_x86_64 --only-binary=:all:
pip download -r requirements.txt --dest wheels --python-version 3.12 --platform manylinux_2_28_x86_64 --prefer-binary --no-deps
pip download -r requirements.txt --dest wheels --python-version 3.12 --platform manylinux2014_x86_64 --only-binary=:all:
pip download -r requirements.txt --dest wheels --python-version 3.12 --platform manylinux2014_x86_64 --prefer-binary

platform的选择可以参考下表

目标系统

架构

推荐的 --platform 值

现代 Linux (Ubuntu/CentOS 7+)

x86_64

manylinux2014_x86_64

现代 Linux (ARM/树莓派/安培)

ARM64

manylinux2014_aarch64

Windows 64位

x86_64

win_amd64

macOS (Intel)

x86_64

macosx_10_15_x86_64 (或更低版本)

macOS (M1/M2/M3)

ARM64

macosx_11_0_arm64

轻量级 Linux (Alpine)

x86_64

musllinux_1_1_x86_64

manylinux_2_17_x86_64

打包内容

服务端部署

pip install --no-index --find-links=./wheels -r requirements.txt

使用docker打包和获取依赖

镜像:https://quay.io/organization/pypa

pip debug --verbose