当前位置: 首页 > news >正文

本地使用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

http://www.lryc.cn/news/611069.html

相关文章:

  • Web存储技术详解:sessionStorage、localStorage与Cookie
  • 每日五个pyecharts可视化图表-bars(4)
  • 手绘风格制图新选择:如何用Excalidraw+cpolar构建你的视觉化工作流?
  • 一次完整的 Docker 启动失败排错之旅:从 `start-limit` 到 `network not found
  • Docker Desktop
  • 利用DeepSeek编写带缓冲输出的V语言程序
  • P1103《书本整理》精讲
  • PowerBI VS QuickBI 实现图表的动态配色
  • linux-系统日志查看指令systemctl
  • 37.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--扩展功能--增加Github Action
  • STM32U575低功耗调试
  • Rust进阶-part3-生命周期
  • DAY 36 复习日
  • C++进阶—特殊类设计
  • 国产三防平板电脑是什么?三防平板推荐
  • Prometheus 监控平台部署 (云原生环境)
  • C语言基础_补充知识、数据类型转换、选择结构
  • OpenLayers学习(一)-基础
  • bcryptprimitives.dll是什么文件
  • 机器学习 集成学习之随机森林
  • 真正的多模态上下文学习需要关注视觉上下文
  • ASP3605I同步降压调节器的高频化设计与多相扩展技术优化方案
  • 利用链上数据进行数字资产量化因子发现
  • 关于怎么知道linux(ubuntu)系统交叉编译器的命令的方法:
  • 算法训练之哈希表
  • 【自动化运维神器Ansible】playbook核心组件之templates深度解析
  • 如何在虚拟机(Linux)安装Qt5.15.2
  • lvm逻辑卷管理
  • docker-compose常用的网络模式有哪些?
  • Linux DNS缓存与Nginx DNS缓存运维文档