Python包管理uv使用

介绍

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

pip快10-100倍。

安装和管理 Python 版本。

运行和安装 Python 应用程序。

通过 curlpip ,无需 RustPython 即可安装。

支持 macOSLinuxWindows

安装

使用独立安装


# 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 可以更新到最新版本:
uv self update

Pypi 安装

# pip
pip install uv

# pipx
pipx install uv

项目管理

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

$ uv init example
Initialized project `example` at `C:\Users\Administrator\example`

$ cd example

$ uv add ruff
Using CPython 3.12.8
Creating virtual environment at: .venv
Resolved 2 packages in 3.87s
Prepared 1 package in 4.20s
Installed 1 package in 476ms
 + ruff==0.9.1

$ uv run ruff check
All checks passed!

工具管理

uv 执行并安装由 Python 软件包提供的命令行工具,类似于 pipx

$ uvx pycowsay 'hello world!'
Installed 1 package in 35ms

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

安装一个工具 uv tool install

$ uv tool install ruff
Resolved 1 package in 1.32s
Installed 1 package in 14ms
 + ruff==0.9.1
Installed 1 executable: ruff.exe

$ ruff --version
ruff 0.9.1

Python管理

uv 安装 Python,并允许快速切换版本。

安装多个 Python 版本

$ uv python install 3.10 3.11 3.12
Installed 3 versions in 27.83s
 + cpython-3.10.16-windows-x86_64-none
 + cpython-3.11.11-windows-x86_64-none
 + cpython-3.12.8-windows-x86_64-none

根据需要下载 Python 版本

$ uv venv --python 3.12.0
Using CPython 3.12.0
Creating virtual environment at: .venv
Activate with: .venv\Scripts\activate

$ uv run --python pypy@3.8 -- python
Python 3.8.16 (a9dbdca6fc3286b0addd2240f11d97d8e8de187a, Dec 29 2022, 11:45:54)
[PyPy 7.3.11 with MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>>

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

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

脚本支持

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 20ms

卸载

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

清理存储数据

$ uv cache clean

# windows 删除安装的内容 删除命令列出目录
$ uv python dir && uv tool dir
C:\Users\Administrator\AppData\Roaming\uv\python
C:\Users\Administrator\AppData\Roaming\uv\tools

# macOS / Linux 删除安装的内容
$ rm -r "$(uv python dir)"
$ rm -r "$(uv tool dir)"

删除uv和uvx二进制文件

# macOS / Linux
$ rm ~/.local/bin/uv ~/.local/bin/uvx

# Windows
$ rm %UserProfile%\.local\bin\uv.exe
$ rm %UserProfile%\.local\bin\uvx.exe

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

posted @   六花踏雪  阅读(480)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示