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

uv:现代化的 Python 包和项目管理工具

文章目录

    • 什么是 uv?
    • 安装 uv
      • 使用安装脚本(适用于 macOS 和 Linux)
      • 使用 Homebrew(适用于 macOS)
      • 使用 PowerShell(适用于 Windows)
      • 使用 pip 安装
    • 创建虚拟环境
    • 激活和退出虚拟环境
    • 管理依赖
      • 添加依赖
      • 移除依赖
      • 同步依赖
      • 升级依赖
    • 运行脚本
    • 管理 Python 版本
      • 安装特定版本的 Python
      • 查看已安装的 Python 版本
    • 示例:快速创建并运行一个项目


在这里插入图片描述

在 Python 项目开发中,虚拟环境和依赖管理一直是开发者关注的重点。传统工具如 pipvirtualenvconda 虽然功能强大,但在速度、依赖冲突处理和多工具协作方面存在一定的局限性。为了解决这些问题,Astral 团队开发了一个全新的工具 —— uv。本文将介绍 uv 的基本操作,帮助你快速上手这一现代化的 Python 包和项目管理工具。


什么是 uv?

uv 是一个用 Rust 编写的高性能 Python 包和项目管理器,旨在替代传统的 pipvirtualenvpip-toolspoetry 等工具。它的主要特点包括:

  • 极致性能:依赖解析和安装速度比传统工具快 10–100 倍 。
  • 内置虚拟环境管理:自动创建和管理虚拟环境,无需手动操作。
  • 多 Python 版本支持:可安装和管理多个 Python 版本。
  • 统一的依赖管理:通过 pyproject.tomluv.lock 文件实现可重复的环境配置。
  • 兼容现有工具链:提供 uv pip 等命令,兼容现有的 pip 工作流程。

安装 uv

可以通过多种方式安装 uv:

使用安装脚本(适用于 macOS 和 Linux)

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

使用 Homebrew(适用于 macOS)

brew install uv

使用 PowerShell(适用于 Windows)

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

使用 pip 安装

pip install uv

安装完成后,可以通过以下命令验证安装:

uv --version

创建虚拟环境

uv 默认使用 .venv 目录作为虚拟环境的存储位置。你可以使用以下命令创建虚拟环境:

uv venv

如果需要指定虚拟环境的名称或路径,可以:

uv venv my_env

要使用特定版本的 Python 创建虚拟环境:

uv venv --python 3.11

如果指定的 Python 版本未安装,uv 会自动下载所需版本 。


激活和退出虚拟环境

激活虚拟环境:

  • macOS 和 Linux
  source .venv/bin/activate
  • Windows(PowerShell)
  .venv\Scripts\Activate.ps1

退出虚拟环境:

deactivate

管理依赖

uv 提供了一套简洁的命令来管理项目依赖:

添加依赖

uv add requests

此命令会将 requests 添加到 pyproject.toml 文件中,并更新 uv.lock 文件,同时安装该依赖。

移除依赖

uv remove requests

此命令会从 pyproject.tomluv.lock 中移除 requests,并卸载该依赖。

同步依赖

uv sync

根据 pyproject.tomluv.lock 文件,安装或更新项目所需的所有依赖。

升级依赖

升级单个依赖:

uv sync --upgrade-package requests

升级所有依赖:

uv lock --upgrade

运行脚本

uv 提供了 uv run 命令,用于在虚拟环境中运行脚本或命令:

uv run python main.py

此命令会自动激活虚拟环境,确保依赖已安装,然后运行 main.py


管理 Python 版本

uv 支持安装和管理多个 Python 版本:

安装特定版本的 Python

uv python install 3.12

查看已安装的 Python 版本

uv python list

uv 使用 Astral 的 python-build-standalone 项目提供的 Python 分发版本,确保兼容性和可重复性 。


示例:快速创建并运行一个项目

以下是使用 uv 创建并运行一个简单项目的示例流程:

# 初始化项目
uv init my_project
cd my_project# 添加依赖
uv add fastapi uvicorn# 运行应用
uv run uvicorn main:app --reload

在这个过程中,uv 会自动创建虚拟环境,安装依赖,并运行应用。


如需更深入的了解 uv 的使用,可以参考以下视频教程:

Python Tutorial: UV - A Faster, All-in-One Package Manager to Replace Pip and Venv

相关文章:

  • 解常微分方程组
  • GoogLeNet网络模型
  • 西瓜书第五章——感知机
  • 《江西棒球资讯》棒球运动发展·棒球1号位
  • 信息安全之为什么引入公钥密码
  • 5.31 专业课复习笔记 12
  • day42 简单CNN
  • 计算机组织原理第三章
  • C 语言栈实现详解:从原理到动态扩容与工程化应用(含顺序/链式对比、函数调用栈、表达式求值等)
  • AI Agent的“搜索大脑“进化史:从Google API到智能搜索生态的技术变革
  • 题海拾贝:P8598 [蓝桥杯 2013 省 AB] 错误票据
  • 给跑步入门的一个训练课表
  • Docker-搭建MySQL主从复制与双主双从
  • BLE 广播与扫描机制详解:如何让设备“被看见”?
  • 1.JS逆向简介
  • 应急响应靶机-web3-知攻善防实验室
  • Another Redis Desktop Manager 1.3.7 安装教程 - 详细步骤图解 (Windows)
  • CppCon 2014 学习:Parallelizing the Standard Algorithms Library
  • 2024 CKA模拟系统制作 | Step-By-Step | 20、题目搭建-节点维护
  • Linux之MySQL安装篇
  • 网站基础知识/sem推广是什么
  • 南京优化网站/制作小程序的软件
  • seo网站诊断报告/seo在线优化平台
  • 外贸网站建设 杭州/海南百度推广电话
  • 哪家能建设网站/企业网站推广的方法有
  • 简历免费模板下载/长沙网站推广排名优化