uv - Getting Started 开始使用 [官方文档翻译]


uv

https://docs.astral.sh/uv/

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


亮点

  • ❇️ 运行脚本,支持 内联依赖元数据
  • 🐍 安装和管理 Python 版本。
  • 🛠️ 运行和安装 以 Python 包形式发布的工具。
  • 🔩 包含一个用于性能提升的 pip 兼容接口 熟悉 CLI。
  • 🏢 支持Cargo风格的工作区,适用于可扩展的项目。
  • 💾 磁盘空间高效,拥有用于依赖去重的一个 全局缓存
  • ⏬ 无需 Rust 或 Python,通过 curlpip 可安装。
  • 🖥️ 支持 macOS、Linux 和 Windows。

uv由Astral支持,它是的创造者 Ruff


安装

安装 uv 使用我们的官方独立安装程序:
macOS 和 Linux

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

Windows

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

然后,查看第一步或者继续阅读以获取简要概述。


提示:uv 也可以通过 pip、Homebrew 等方式进行安装。在 安装页面 查看所有方法。


项目

uv 管理项目依赖和环境,支持锁文件、工作区等功能。类似于 ryepoetry

$ uv init example
Initialized project `example` at `/home/user/example`

$ cd example

$ uv add ruff
Creating virtual environment at: .venv
Resolved 2 packages in 170ms
   Built example @ file:///home/user/example
Prepared 2 packages in 627ms
Installed 2 packages in 1ms
 + example==0.1.0 (from file:///home/user/example)
 + ruff==0.5.4

$ uv run ruff check
All checks passed!

$ uv lock
Resolved 2 packages in 0.33ms

$ uv sync
Resolved 2 packages in 0.70ms
Audited 1 package in 0.02ms

查看项目指南以开始使用。
uv 也支持构建和发布项目,即使它们不是用 uv 管理的。查看 打包指南


脚本

uv 管理单文件脚本的依赖和环境。
创建一个新的脚本并添加声明其依赖项的内置元数据:

$ echo 'import requests; print(requests.get("https://astral.sh"))' > example.py

$ uv add --script example.py requests
Updated `example.py`

然后,在隔离的虚拟环境中运行脚本:

$ uv run example.py
Reading inline script metadata from: example.py
Installed 5 packages in 12ms
<Response [200]>

查看脚本指南以开始使用。


工具

uv执行并安装由Python包提供的命令行工具,类似于pipx
在临时环境中运行一个工具使用 uvxuv tool run 的别名):

$ uvx pycowsay 'hello world!'
Resolved 1 package in 167ms
Installed 1 package in 9ms
 + pycowsay==0.0.0.2
  """

  ------------
< hello world! >
  ------------
   \   ^__^
    \  (oo)_______
       (__)\       )\/\
 ||----w |
 || ||

使用 uv tool install 安装一个工具:

$ uv tool install ruff
Resolved 1 package in 6ms
Installed 1 package in 2ms
 + ruff==0.5.4
Installed 1 executable: ruff

$ ruff --version
ruff 0.5.4

查看工具指南以开始使用。


Python 版本

uv 安装 Python 并允许快速切换版本。
安装多个 Python 版本:

$ uv python install 3.10 3.11 3.12
Searching for Python versions matching: Python 3.10
Searching for Python versions matching: Python 3.11
Searching for Python versions matching: Python 3.12
Installed 3 versions in 3.42s
 + cpython-3.10.14-macos-aarch64-none
 + cpython-3.11.9-macos-aarch64-none
 + cpython-3.12.4-macos-aarch64-none

下载所需的 Python 版本:

$ uv venv --python 3.12.0
Using CPython 3.12.0
Creating virtual environment at: .venv
Activate with: source .venv/bin/activate

$ uv run --python [[email protected]](/cdn-cgi/l/email-protection) -- python
Python 3.8.16 (a9dbdca6fc3286b0addd2240f11d97d8e8de187a, Dec 29 2022, 11:45:30)
[PyPy 7.3.11 with GCC Apple LLVM 13.1.6 (clang-1316.0.21.2.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>>

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

$ uv python pin 3.11
Pinned `.python-version` to `3.11`

查看安装 Python 指南以开始安装。


pip 接口

uv 提供了 pippip-toolsvirtualenv 常用命令的即插即用替代方案。
uv 通过高级特性扩展了它们的接口,例如依赖版本覆盖。
平台无关的解决方案、可重复的解决方案、替代解决方案策略以及更多。
迁移到uv而不改变您现有的工作流程——并体验10-100倍的速度提升——使用 uv pip 接口。

编译平台无关的需求文件:

$ uv pip compile docs/requirements.in \
   --universal \
   --output-file docs/requirements.txt
Resolved 43 packages in 12ms

创建一个虚拟环境:

$ uv venv
Using CPython 3.12.3
Creating virtual environment at: .venv
Activate with: source .venv/bin/activate

安装已锁定的依赖项:

$ uv pip sync docs/requirements.txt
Resolved 43 packages in 11ms
Installed 43 packages in 208ms
 + babel==2.15.0
 + black==24.4.2
 + certifi==2024.7.4
 ...

查看pip接口文档以开始使用。


了解更多

查看第一步或直接跳转到 指南

2025年2月10日


入门

为了帮助您开始使用 uv,我们将涵盖几个重要主题:

  • 安装 uv
  • 安装后的第一步
  • uv的特點概览
  • 如何获得帮助

继续阅读,或跳转到另一个部分:

  • 快速开始,使用 指南 进行常见工作流程。
  • 了解uv的核心 概念 的更多信息。
  • 使用参考文档来查找关于特定事物的详细信息。

2024年8月16日


安装 uv


安装方法

安装 uv,可以使用我们提供的独立安装程序或您选择的包管理器。


独立安装程序

uv提供了一个独立的安装程序,用于下载和安装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.6.3/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.6.3/install.ps1 | iex"

提示:在使用之前,可以检查安装脚本:
macOS 和 Linux

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

Windows

$ powershell -c "irm https://astral.sh/uv/install.ps1 | more"

或者,可以从 GitHub 直接下载安装程序或二进制文件。


查看安装器配置文档以获取详细信息。
自定义您的 UV 安装。


PyPI

为了方便,uv 发布到了 PyPI
如果从 PyPI 安装,我们建议将 uv 安装到一个隔离环境中,例如,使用 pipx

$ pipx install uv

然而,pip 也可以被使用:

$ pip install uv

注意: uv ships 为许多平台配备了预构建的分布(轮子);如果给定平台没有轮子,则将从源代码构建uv,这需要Rust工具链。请参阅贡献设置指南了解从源头构建紫外线的详细信息。


Cargo

uv可通过Cargo获取,但必须从Git构建,而不是通过crates.io
关于其依赖未发布crate的情况。

$ cargo install --git https://github.com/astral-sh/uv uv

Homebrew

uv 可在核心 Homebrew 软件包中找到。

$ brew install uv

WinGet

uv可通过WinGet获取。

$ winget install --id=astral-sh.uv  -e

Scoop

uv 可通过 Scoop 获取。

$ scoop install main/uv

Docker

uv提供了一款Docker镜像:ghcr.io/astral-sh/uv
查看我们关于在Docker中使用uv的指南以获取更多详细信息。


GitHub 发布

uv 发布的工件可以直接从 GitHub 发布
每个发布页面都包括所有支持平台上的二进制文件以及使用说明。
使用 github.com 而不是 astral.sh 的独立安装程序。


升级 uv

当通过独立安装程序安装 uv 时,它可以根据需要自行更新:

uv self update

提示:更新uv将重新运行安装程序 并可能修改您的shell配置文件。要禁用此行为,设置INSTALLER_NO_MODIFY_PATH=1

当使用另一种安装方法时,自动更新被禁用。使用包管理器进行更新升级方法来替代。例如,使用 pip

$ pip install --upgrade uv

Shell 自动补全


提示:您可以通过运行 echo $SHELL 来帮助您确定您的 shell。
要启用 uv 命令的 shell 自动补全,运行以下命令之一:

Bash

echo 'eval "$(uv generate-shell-completion bash)"' >> ~/.bashrc


zsh

echo 'eval "$(uv generate-shell-completion zsh)"' >> ~/.zshrc


fish

echo 'uv generate-shell-completion fish | source' >> ~/.config/fish/config.f.sh


Elvish

echo 'eval (uv generate-shell-completion elvish | slurp)' >> ~/.elvish/rc.elv


PowerShell / pwsh

if (!(Test-Path -Path $PROFILE)) {
  New-Item -ItemType File -Path $PROFILE -Force
}
Add-Content -Path $PROFILE -Value '(& uv generate-shell-completion powershell) | Out-String | Invoke-Expression'

要启用 uvx 的 shell 自动补全,运行以下命令之一:
Bash

echo 'eval "$(uvx --generate-shell-completion bash)"' >> ~/.bashrc


zsh

echo 'eval "$(uvx --generate-shell-completion zsh)"' >> ~/.zshrc 

fish

echo 'uvx --generate-shell-completion fish | source' >> ~/.config/fish/config.f.sh 

Elvish

echo 'eval (uvx --generate-shell-completion elvish | slurp)' >> ~/.elvish/rc.elv

PowerShell / pwsh

if (!(Test-Path -Path $PROFILE)) {
  New-Item -ItemType File -Path $PROFILE -Force
}
Add-Content -Path $PROFILE -Value '(& uvx --generate-shell-completion powershell) | Out-String | Invoke-Expression'

然后重新启动 shell 或源 shell 配置文件。


卸载

如果您需要从系统中移除uv,请按照以下步骤操作:

1、清理存储数据(可选):

$ uv cache clean
$ rm -r "$(uv python dir)"
$ rm -r "$(uv tool dir)"

提示:在删除二进制文件之前,您可能想删除 uv 存储的任何数据。

2、删除 uv 和 uvx 二进制文件:
macOS 和 Linux

$ rm ~/.local/bin/uv ~/.local/bin/uvx

Windows

$ rm $HOME.local\bin\uv.exe
$ rm $HOME.local\bin\uvx.exe

注意:在0.5.0之前,uv被安装到了~/.cargo/bin。可以从那里删除这些二进制文件。
uninstall. 升级到旧版本将不会自动删除二进制文件 ~/.cargo/bin.

2025年2月24日


第一次使用 uv

在 安装 uv 之后,您可以通过运行 uv 来检查 uv 是否可用。
命令:

$ uv
An extremely fast Python package manager.

Usage: uv [OPTIONS] <COMMAND>

...

您应该会看到一个列出可用命令的帮助菜单。

2024年9月3日


特性

uv 提供了 Python 开发所需的基本功能——从安装 Python 到对简单 功能 进行修改
脚本用于在支持多个 Python 版本和平台的庞大项目中工作。
uv的接口可以分为几个部分,这些部分可以独立使用或一起使用。


Python 版本

安装和管理 Python 本身。

  • uv python install: 安装 Python 版本。
  • uv python list: 查看可用的 Python 版本。
  • uv python find: 查找已安装的 Python 版本。
  • uv python pin: 将当前项目固定使用特定的 Python 版本。
  • uv python uninstall: 卸载一个 Python 版本。

请参阅 guide on installing Python 以开始学习。


脚本

执行独立的 Python 脚本,例如,example.py

  • uv run: 运行一个脚本。
  • uv add --script: 将依赖项添加到脚本中
  • uv remove --script: 从脚本中删除一个依赖项

查看运行脚本的指南以开始使用。


项目

创建和开发 Python 项目,即使用一个 pyproject.toml

  • uv init: 创建一个新的 Python 项目。
  • uv add: 添加项目依赖。
  • uv remove: 从项目中移除一个依赖。
  • uv sync: 将项目的依赖与环境同步。
  • uv lock: 创建项目依赖的锁文件。
  • uv run: 在项目环境中运行一个命令。
  • uv tree: 查看项目的依赖树。
  • uv build: 将项目构建为分发存档。
  • uv publish: 将项目发布到包索引中。

查看 项目指南 以开始。


工具

运行和安装发布到 Python 包索引中的工具,例如 ruffblack

  • uvx / uv tool run:在一个临时环境中运行一个工具。
  • uv tool install: 在全局范围内安装一个工具。
  • uv 工具卸载: 卸载一个工具。
  • uv 工具 列表: 列出已安装的工具.
  • uv tool update-shell: 更新 shell 以包括工具可执行文件。

查看 工具指南 以开始使用。


pip 接口

手动管理环境和包 — 旨在用于遗留工作流程或情况中
高级命令提供不了足够控制。
创建虚拟环境(替代 venvvirtualenv):

  • uv venv: 创建一个新的虚拟环境。

查看 使用环境 的文档以获取详细信息。

在环境中管理包(替代 pippipdeptree )

  • uv pip install: 将包安装到当前环境。
  • uv pip show: 显示已安装软件包的详细信息。
  • uv pip freeze: 列出已安装的包及其版本。
  • uv pip check: 检查当前环境是否有兼容的包。
  • uv pip list: 列出已安装的包。
  • uv pip uninstall: 卸载包。
  • uv pip tree: 查看环境的依赖树。

查看 管理包 的文档以获取详细信息。
在环境中锁定包(替换 pip-tools):

  • uv pip compile: 将需求编译进锁定文件。
  • uv pip sync: 将环境与锁文件同步。

查看关于 锁定环境 的文档以获取详细信息。

重要:这些命令并不完全实现它们所基于的工具的接口和行为。你离通用工作流程越远,遇到差异的可能性就越大。有关详细信息,请参阅pip 兼容性指南


实用工具

管理并检查 uv 的状态,例如缓存、存储目录,或执行自更新操作:

  • uv cache clean: 清除缓存条目。
  • uv cache prune: 删除过时的缓存条目。
  • uv cache dir: 显示 uv 缓存目录路径。
  • uv tool dir: 显示 uv 工具目录路径。
  • uv python dir: 显示安装的 uv Python 版本的路径。
  • uv self update: 更新 uv 到最新版本。

2025年2月5日


获取帮助


帮助菜单

--help 标志可用于查看命令的帮助菜单,例如,对于 uv

uv --help

要查看特定命令的帮助菜单,例如,对于 uv init

uv init --help

当使用 --help 标志时,uv 显示一个简化的帮助菜单。要查看更长的帮助菜单,请
命令,使用 uv help

uv help

要查看特定命令的完整帮助菜单,例如,对于 uv init

uv help init

使用长帮助菜单时,uv 将尝试使用 lessmore 来“分页”输出,以便它更易于阅读。
不一次性显示所有内容。要退出分页器,按 q


查看版本

在寻求帮助时,确定您所使用的 uv 版本非常重要——有时需要知道您正在使用的版本才能提供有效的帮助。
有时候问题在更新的版本中已经被解决。
要检查已安装的版本:

uv version

以下也是有效的:

$ uv --version      # Same output as `uv version`
$ uv -V             # Will not include the build commit and date
$ uv pip --version  # Can be used with a subcommand

故障排除问题

故障排除指南:https://docs.astral.sh/uv/reference/troubleshooting/


在GitHub上打开一个issue

GitHub上的 问题跟踪器 是报告错误的理想之地
并且请求功能。确保首先搜索类似的问题,因为其他人提出类似问题的情形很常见。
可能会遇到相同的问题。


在 Discord 上聊天

Astral Discord : https://discord.com/invite/astral-sh

这是一个很好的地方来提问题,了解更多关于UV的信息,并与社区其他成员互动。

2025年1月27日


集成指南

https://docs.astral.sh/uv/guides/integration/

了解如何将 uv 集成到其他软件中:

或者,探索 概念文档 以获取每个功能的全面概述。

2025年1月7日


伊织 2025-03-24(一)

### 回答1: win11共享打印机x00000bc4是指在Windows 11系统中共享打印机时出现的错误代码。该错误通常是由于打印机驱动程序或共享设置的问题引起的。解决此问题的方法包括更新打印机驱动程序、检查共享设置、重新安装打印机驱动程序等。如果以上方法都无法解决问题,建议联系打印机制造商或Windows支持团队寻求帮助。 ### 回答2: Win11共享打印机时出现0x00000bc4错误,这是常见的网络共享问题。这个错误代码通常表示共享打印机的驱动程序出现了问题,或者是Windows系统的打印机管理服务未正确运行所导致的。解决这个问题需要一定的技术知识和操作技巧,以下是一些可能有用的步骤: 1. 卸载并重新安装打印机驱动程序 首先,您可以尝试卸载共享打印机的驱动程序并重新安装。这种方法可能会解决一些驱动程序相关的问题。打开设备管理器,找到打印机并右键单击选择“卸载设备”。然后,重新安装最新版本的打印机驱动程序并重新启动计算机,看看问题是否得到解决。 2. 确保Windows服务正在运行 打印机管理服务是负责管理打印机的Windows服务之一,如果该服务未正确运行,可能会导致共享出现问题。您可以打开“服务”应用程序并找到“打印机管理”服务,确保该服务正在运行。如果服务未运行,请右键单击服务并选择“启动”。 3. 检查计算机网络设置 网络设置问题也可能导致共享出现问题。确保您的计算机与其他计算机正确连接并配置。例如,您需要确保您的计算机和其他计算机都处于同一网络和工作组中。您可以在“控制面板”中查看和更改这些设置。 4. 尝试使用其他共享方法 如果上述方法都未能解决问题,则您可以尝试使用其他共享方法,例如使用其他网络共享工具或通过设置共享文件夹来打印文档。这种方法可能会有所不同,具体取决于您使用的操作系统版本和设备类型。 总之,Win11共享打印机0x00000bc4错误可能有多种原因,需要在特定情况下采取不同的解决方法。如果您不确定如何解决这个问题,建议您咨询技术专家或寻求更加详细的指导。 ### 回答3: Win11共享打印机出现0x00000bc4错误的原因可能有多种,以下是一些可能的解决方法。 首先,可以尝试重新安装或更新打印机驱动程序。如果该驱动程序已经陈旧或损坏,可能会导致共享打印机的问题。可以前往打印机制造商的官方网站,下载最新驱动程序,并按照说明进行安装。 其次,需要确保打印机已正确共享。可以在“控制面板”中找到“设备和打印机”,右键单击共享的打印机,选择“属性”,然后点击“共享”选项卡进行设置。确保“共享此打印机”选项已打开,并指定一个共享名称。 如果以上方法都无法解决问题,可能需要检查网络设置。可以检查计算机和打印机是否能够正确地连接到网络,并确保网络共享已正确配置。另外,需要确保防火墙设置正确,不会阻止共享打印机的访问。 最后,还可以尝试使用Windows系统自带的“故障排除”工具。该工具可以自动诊断共享打印机的问题,并提供解决方案。在“控制面板”中找到“故障排除”,选择“打印机”,然后按照指示进行操作。 总之,Win11共享打印机出现0x00000bc4错误可能是多种原因造成的,需要根据具体情况进行逐一排查解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程乐园

请我喝杯伯爵奶茶~!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值