python uv包管理器使用

官方文档:uv官方文档
注:uv安装不依赖python。

使用:

python版本管理

# 查看已安装的python列表
uv python list
# 安装特定版本
uv python install 3.12
# 指定项目使用的python版本
# (更改版本时记得修改 pyproject.toml 文件内的python版本,不然 uv add 时会验证该版本导致依赖问题)
uv python pin <version>

# 使用指定版本运行脚本
uv run --python 3.10 example.py

初始化项目

uv init hello-world
cd hello-world
mkdir hello-world
cd hello-world
uv init

包管理

# 安装包
uv add requests
# 升级包
uv lock --upgrade-package requests
# 卸载包
uv remove requests
# 手动同步包环境(uv run 会自动同步)
uv sync
# 升级所有包
uv lock --upgrade
# 添加httpx 从GitHub
uv add "httpx @ git+https://github.com/encode/httpx"
# 在 requirements.txt 文件中声明的依赖项可以通过 -r 选项添加到项目中:
uv add -r requirements.txt
# 添加一个Git依赖源
uv add git+https://github.com/encode/httpx
uv add git+ssh://git@github.com/encode/httpx
uv add git+https://github.com/encode/httpx --branch main

运行命令

注:uv run 可以从dotenv文件中加载环境变量(例如,.env,.env.local, .env.development)
要禁用 dotenv 加载(例如,覆盖 UV_ENV_FILE 或命令行参数 --env-file),请将 UV_NO_ENV_FILE 环境变量设置为 1,或传递 --no-env-file 标志给 uv run。

uv run python -c "import example"
uv run example.py

工具

注:uvx别名 uv tool run — 这两个命令是完全等价的

  1. 使用uv tool run在不安装的情况下调用,在这种情况下,它们的依赖项会安装在一个临时的、与当前项目隔离的虚拟环境中
  2. 工具也可以通过uv tool install安装,其可执行文件 可在PATH上获得 —— 尽管使用的是隔离的虚拟环境,但该环境不会在命令完成时被移除。

缓存

# 移除所有缓存目录中的缓存条目
uv cache clean
# 移除所有缓存条目 ruff 的包
uv cache clean ruff
# 移除所有未使用的缓存条目(uv cache prune定期运行是安全的)
uv cache prune

更换国内源

uv配置国内源

export UV_DEFAULT_INDEX="https://mirrors.aliyun.com/pypi/simple"

相关参考:

【Python】uv 库:下一代开源的 Python 包管理工具
pip&uv配置国内源, docker打包配置环境

### Python 包管理器 uv使用方法和特性 #### 特性概述 uv 是一个超快速的 Python 包安装器和解析器,采用 Rust 编写而成[^1]。作为 pip、pip-tools 和 virtualenv 的高效替代方案,uv 提供了显著的速度优势以及更简洁的工作流程。 #### 安装与配置 为了开始使用 uv,需先完成其安装过程。由于具体安装指南可能随版本更新而有所变化,建议查阅官方文档获取最新指导。通常情况下,可以通过以下命令来安装: ```bash cargo install uv ``` 这一步骤依赖于 Cargo 构建系统及其包管理器,适用于已设置好 Rust 开发环境的情况。 #### 创建并激活虚拟环境 uv 同样扮演着 Python 虚拟环境管理者的角色,由 Astral.sh 推出,成为广受瞩目的新一代包管理解决方案之一[^2]。创建新的虚拟环境十分简便: ```bash uv env create my_project_env source ./my_project_env/bin/activate # Unix 或 macOS 下 # 对于 Windows 用户,则应运行: # .\my_project_env\Scripts\activate.bat ``` 上述指令会初始化名为 `my_project_env` 的隔离开发空间,在其中可以自由地测试不同组合下的库依赖关系而不影响全局解释器状态。 #### 添加依赖项 当项目处于活动环境中时,可通过简单的语法声明所需软件包列表: ```toml # pyproject.toml 文件片段 [tool.poetry.dependencies] python = "^3.9" requests = ">=2.28,<3.0" numpy = "*" pandas = {version="^1.4", markers="platform_system != 'Windows'"} ``` 接着利用如下命令同步指定条件至本地副本: ```bash uv sync ``` 此操作不仅能够处理新增加的内容,还会自动调整现有条目以匹配最新的可用版本号。 #### 执行脚本 得益于对 PEP 723 标准的支持,uv 可直接运行带有内联元数据标签的单一文件形式的应用程序[^4]。例如: ```python #! /usr/bin/env python3 """A simple hello world script.""" print("Hello, World!") ``` 保存以上代码到 `.py` 结尾的纯文本档里之后,仅需调用: ```bash uv run path/to/script.py ``` 就能立即看到预期输出结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值