当前位置:首页 > 技术文章 > 正文内容

UV 迄今最快、最好的 Python 包管理器



一个极速的 Python 包和项目管理器,用 Rust 编写。

亮点

  • 一个可以取代 pip、pip-tools、pipx、poetry、pyenv、twine、virtualenv 等工具的单一工具。
  • 比 pip 快 10-100 倍。
  • 提供全面的项目管理功能,并采用通用的锁定文件。
  • 运行脚本,支持内联依赖元数据。
  • 安装和管理 Python 版本。
  • 运行并安装发布为 Python 包的工具。
  • 包含 pip 兼容的接口,可在熟悉 CLI 的同时提升性能。
  • 支持 Cargo 风格的工作区,用于可扩展的项目。
  • 磁盘空间高效,具有全局缓存以进行依赖去重。
  • 可以通过 curl 或 pip 安装,无需 Rust 或 Python。
  • 支持 macOS、Linux 和 Windows。

安装方法

#macOS and Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

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

Python 版本

uv 安装 Python 并允许在版本之间快速切换。

安装多个 Python 版本:

uv python install 3.10 3.11 3.12

根据需要下载 Python 版本:

uv venv --python 3.12.0

uv run --python pypy@3.8 -- python

在当前目录中使用特定的 Python 版本:

uv python pin 3.11

指定默认 Python 版本:

#预览版功能
uv python install 3.11 --default --preview

运行脚本

Python 脚本是用于独立执行的文件,例如,使用 .用 UV 执行脚本可确保无需手动管理即可管理脚本依赖项 环境。python <script>.py

如果您不熟悉 Python 环境:每个 Python 安装都有一个环境 软件包可以安装在其中。通常,建议创建虚拟环境 隔离每个脚本所需的软件包。UV 自动为您管理虚拟环境 并更喜欢对依赖项采用声明性方法。

uv run example.py

创建新项目

您可以使用以下命令创建新的 Python 项目:uv init

uv init hello-world

官网

https://astral.sh/

文档

https://docs.astral.sh/uv

相关文章

Vue父子组件参数传递方法(vue父子组件传参方式)

在 Vue 中,父子组件之间的参数传递是常见的需求,主要通过 Props 和 自定义事件 实现。以下是详细说明和代码示例:一、父组件向子组件传递参数(Props)父组件通过 属性 向子组件传递数据,子...

在 Spring Boot3 中操作 GitLab API 的全面指南

在当今互联网大厂的后端开发工作中,高效管理代码版本和项目协作至关重要。GitLab 作为强大的版本控制系统,其 API 为开发人员提供了丰富的操作可能性。本文将深入探讨如何在 Spring Boot3...

GIT最佳实践,高效提升多团队协同开发效率

多个团队共同维护同一个微服务模块时,经常出现A团队已发布的功能,B团队提交测发布出现冲突或缺失,如何有效解决多团队共同维护的问题呢?常用的版本管理工具有GIT、SVN,这两种版本管理工具,各有千秋;虽...

程序员效率提升!使用自动化工具gitx,每周节约半小时

你是否经历过这样的折磨?一个 JIRA 需求要同时修复 dev、qa、staging 三个分支每个版本涉及 A、B、C 三个项目手动执行以下操作:从 dev 切临时分支cherry-pick 提交推送...

Jenkins 学习笔记(jenkins要学多久)

本学习笔记参考《Jenkins 2.x实践指南》。1. Jenkins 简介#Jenkins 是一款自动化的任务执行工具。通常用于持续集成/持续交付领域。可以通过界面或Jenkinsfile告诉Jen...

(在线编辑DWG)网页CAD二开实现焊接符号绘制

前言在工程制图和制造领域,焊接符号(Welding Symbols)是用于表示焊缝类型、尺寸、位置以及工艺要求的标准化图形语言。广泛应用于机械设计、钢结构、船舶制造、压力容器等行业中,帮助技术人员理解...