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

UV工具安装配置使用教程

目录

前言

1. uv能干什么?

2. 安装使用

2.1 安装

2.2 使用示例


前言

uv 是 Astral(也就是开发 RuffRye 的那家公司)推出的一款新一代 Python 包管理与环境工具,它的目标是 替代 pip、virtualenv、pip-tools、pipx、venv 等工具的组合,用一个命令行工具搞定从环境管理到依赖安装的整个流程。


1. uv能干什么?

分类作用对应传统工具
🧱 环境管理创建和管理虚拟环境venv, virtualenv, pyenv
📦 包管理安装、升级、同步包pip, pip-tools
🧰 运行隔离环境命令类似 pipxpipx
🔍 依赖锁定与同步自动解决依赖冲突并生成 lockpip-tools, poetry
🧹 缓存与版本控制多环境共享缓存、快速切换无直接等价

2. 安装使用

2.1 安装

uv 提供了独立安装程序用于下载和安装:

macOS和Linux:

# 使用 curl 下载脚本并通过 sh 执行:
curl -LsSf https://astral.sh/uv/install.sh | sh# 如果系统没有 curl,可以使用 wget:
wget -qO- https://astral.sh/uv/install.sh | sh# 通过在 URL 中包含版本号来请求特定版本:
curl -LsSf https://astral.sh/uv/0.7.4/install.sh | sh

Windows:

# 使用 irm 下载脚本并通过 iex 执行:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"# 通过在 URL 中包含版本号来请求特定版本:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/0.7.4/install.ps1 | iex"

为方便使用,uv 已发布至 PyPI。

如果从 PyPI 安装,建议将 uv 安装到隔离环境中,例如使用 pipx

pipx install uv

当然,也可以使用 pip

pip install uv

验证安装是否成功:

uv --version

其他安装可参考文档:https://uv.doczh.com/getting-started/installation/#_2

2.2 使用示例

1)新建存放虚拟环境的文件夹并进入

mkdir uv-envs && cd uv-envs

2)安装(Linux系统)

curl -LsSf https://astral.sh/uv/install.sh | sh

3)如果要进行环境迁移,将conda环境中的包迁移到uv环境中

# 切换conda环境
conda activate dmx# 导出所安装的包
pip freeze > requirements_uv.txt

将得到一个requirements_uv.txt文件,这个文件里面保存有dmx环境所有的包。

4)项目初始化以及启动环境

# 初始化项目
uv init ./# 同步依赖环境,让当前虚拟环境(或项目的 .venv)与配置文件中的依赖保持一致。
uv sync# 退出conda环境
conda deactivate# 启动uv环境
source .venv/bin/activate 

初始化之后会出现下述文件:

my_uv_project/
├── .gitignore        # Git忽略文件(自动包含.venv等环境目录)
├── .python-version   # 记录项目Python版本(类似pyenv)
├── main.py           # 示例入口脚本(可以删掉自己写)
├── pyproject.toml    # 项目配置文件(核心!记录依赖和设置)
└── README.md         # 项目说明文档

5)安装依赖包

uv pip sync requirements_uv.txt

如果出现下述错误,无法安装某个包,那么就需要从 requirements_uv.txt 文件中删除

再用下述命令安装:

uv pip install pyairports==2.1.1

6)退出 uv 环境

deactivate

http://www.dtcms.com/a/517044.html

相关文章:

  • 餐饮SaaS系统:一站式智慧餐饮解决方案,赋能多场景运营
  • 在网盘上怎么做自己的网站阜宁企业网站建设
  • Vue2学习笔记(上)
  • JavaScript 数组方法和属性详解
  • 每日算法刷题Day77:10.22:leetcode 二叉树bfs18道题,用时3h
  • 免费h5网站模版泸州中泸建设集团有限公司网站
  • compilesdk是Android11的compose项目
  • 连云港网站 建设seo刷关键词排名工具
  • 《Java 集合框架全解析!从入门到实战,面试 / 开发都用得上!》
  • 高光谱遥感岩性识别研究进展
  • 刚刚济南发通知南通seo网站诊断
  • 时间服务作业
  • c++ stringstream字符串流的用法
  • 重庆官方网站有哪些南联网站建设哪家好
  • 营销型网站制作费用wordpress 纯静态
  • 探索Objective-C中的对象复制:深入理解copy和mutableCopy
  • Wordpress自建外贸网站网站运营怎么学
  • 最大回撤约束下ETF多因子动态止盈参数校准方案
  • 广东省省考备考(第一百三十天10.22)——科学推理:受力分析(第三节课)
  • Transformer 面试题及详细答案120道(111-120)-- 综合与拓展
  • win网站建设学习网站建设课程
  • 【Android】详细讲解ViewDragHelper的实现原理(不含代码版)
  • 有关学校网站建设策划书个人简历电子版填写免费模板
  • CAS #:1309649-57-7,Biotin-PEG4-azide,生物素-PEG4-叠氮
  • 什么是搜索引擎百度sem优化师
  • 防重复提交的Token机制需求测试点
  • 李宏毅机器学习笔记29
  • 羊驼免疫平台:纳米抗体制备的天然基石与实践挑战深度解析
  • 【YOLO11-obb部署至RK3588】模型训练→转换RKNN→开发板部署
  • 怎么建立公司网站平台南通微信网站开发