本地使用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 安装项目的依赖

  1. 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

相关推荐
冷雨夜中漫步4 小时前
Python快速入门(6)——for/if/while语句
开发语言·经验分享·笔记·python
郝学胜-神的一滴4 小时前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
百锦再4 小时前
Reactive编程入门:Project Reactor 深度指南
前端·javascript·python·react.js·django·前端框架·reactjs
喵手6 小时前
Python爬虫实战:旅游数据采集实战 - 携程&去哪儿酒店机票价格监控完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集结果csv导出·旅游数据采集·携程/去哪儿酒店机票价格监控
2501_944934736 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
helloworldandy6 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
肖永威7 小时前
macOS环境安装/卸载python实践笔记
笔记·python·macos
TechWJ8 小时前
PyPTO编程范式深度解读:让NPU开发像写Python一样简单
开发语言·python·cann·pypto
枷锁—sha8 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
abluckyboy8 小时前
Java 实现求 n 的 n^n 次方的最后一位数字
java·python·算法