python uv包管理器使用

官方文档:uv官方文档

注:uv安装不依赖python。

使用:

python版本管理

shell 复制代码
# 查看已安装的python列表
uv python list
# 安装特定版本
uv python install 3.12
# 指定项目使用的python版本
uv python pin <version>

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

初始化项目

shell 复制代码
uv init hello-world
cd hello-world
shell 复制代码
mkdir hello-world
cd hello-world
uv init

包管理

shell 复制代码
# 安装包
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 文件中声明的依赖项
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。

shell 复制代码
uv run python -c "import example"
uv run example.py

工具

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

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

缓存

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

相关参考:

【Python】uv 库:下一代开源的 Python 包管理工具

相关推荐
KeithTsui20 分钟前
GCC C语言整数转换的理解(Understanding of Integer Conversions in C with GCC)
c语言·开发语言·算法
秉承初心21 分钟前
Node.js 开发 JavaScript SDK 包的完整指南(AI)
开发语言·javascript·node.js
WSSWWWSSW1 小时前
Seaborn数据可视化实战:Seaborn时间序列可视化入门
python·信息可视化·数据分析·matplotlib·seaborn
云天徽上2 小时前
【数据可视化-96】使用 Pyecharts 绘制主题河流图(ThemeRiver):步骤与数据组织形式
开发语言·python·信息可视化·数据分析·pyecharts
codeyanwu2 小时前
nanoGPT 部署
python·深度学习·机器学习
quaer3 小时前
print(2 ** 3)
开发语言·python
翔云1234563 小时前
Python 中 SQLAlchemy 和 MySQLdb 的关系
数据库·python·mysql
Tipriest_3 小时前
C++ csignal库详细使用介绍
开发语言·c++·csignal·信号与异常
三婶儿4 小时前
在没有客户端的客户环境下,如何用 Python 一键执行 MySQL 与达梦数据库 SQL
运维·后端·python
kyle~4 小时前
C++---多态(一个接口多种实现)
java·开发语言·c++