本地使用uv管理的python项目怎么部署到服务器?
一、存在的问题
本地使用uv管理的Python项目,怎么部署到到服务器?
二、 服务器安装UV
2.1 在服务器安装与本地兼容的 Python 版本,并通过以下命令安装 UV:
先确定一下windows本级的uv包版本
uv --version
uv.lock
文件在不同 uv
版本间可能解析规则不同,建议服务器与本地使用相同主版本
再在服务器安装对应的uv包
curl -LsSf https://astral.sh/uv/0.8.2/install.sh | sh
直接下载最近版本的uv
curl -LsSf https://astral.sh/uv/install.sh | sh
如果云服务报错,网络连接失败。无法连接到github
可以使用下面的命令安装
wget https://astral.sh/uv/install.sh -O uv-installer.sh
如果还是失败的话,在本地可以科学上网的环境先下载到对应的安装包
发布 · astral-sh/uv --- Releases · astral-sh/uv
先确定自己的系统型号
uname -m
2.2 安装自己下载的包
因为我是把这个压缩包放在根目录
先进到根目录,然后解压这个包,就会得到一个新的文件夹
# 假设包在 /root 目录
cd /root
tar -xzvf uv-x86_64-unknown-linux-musl.tar.gz
在把这个文件夹中的uv文件移到/usr/local/bin/
# 方案A:安装到系统路径
sudo mv uv-x86_64-unknown-linux-musl/uv /usr/local/bin
然后就可以看到了安装的版本了
uv --version
三、使用uv来启动本地的uv项目
3.1 进入项目根目录,激活虚拟环境
# 在项目根目录创建虚拟环境
uv venv .venv# 激活虚拟环境
source .venv/bin/activate
3.2 安装项目的依赖
-
uv pip sync
会忽略pyproject.toml
吗?
→ ❌ 不会!uv.lock
本质是pyproject.toml
的编译结果,二者逻辑一致
# 首次初始化(无uv.lock时)
uv pip install -e . # 基于pyproject.toml安装并生成uv.lock# 后续团队成员/生产部署
uv pip sync uv.lock # 根据锁定文件精准复现环境# 添加新依赖
echo "requests = \"^2.32\"" >> pyproject.toml
uv pip compile pyproject.toml # 更新uv.lock
uv pip sync uv.lock
3.3 启动项目
uv run -m main