当前位置: 首页 > news >正文

Python - UV 为每个项目创建独立、干净的Python工作空间

Anaconda、miniconda 慎用, 有商业授权风险,可以选择 UV: https://docs.astral.sh/uv/ GitHub:https://github.com/astral-sh/uv
中文站:https://uv.doczh.com/

https://www.bilibili.com/video/BV13WGHz8EEz
image
.venv VSCode、Pycharm 都能识别这个命名

核心亮点
🚀 一个工具替代 pip、pip-tools、pipx、poetry、pyenv、twine、virtualenv 等
⚡️ 比 pip 快 10-100 倍
🗂️ 提供全面的项目管理功能,包含通用锁文件
❇️ 运行脚本,支持内联依赖元数据
🐍 安装和管理 Python 版本
🛠️ 运行和安装 以 Python 包形式发布的工具
🔩 包含 pip 兼容接口,在熟悉 CLI 的同时获得性能提升
🏢 支持 Cargo 风格的工作区用于可扩展项目
💾 磁盘空间高效,通过全局缓存实现依赖去重
⏬ 无需 Rust 或 Python 即可通过 curl 或 pip 安装
🖥️ 支持 macOS、Linux 和 Windows
uv 由 Astral 提供支持,他们是 Ruff 的创造者。
image

Windows 安装 UV

https://github.com/astral-sh/uv/releases
下载地址:https://github.com/astral-sh/uv/releases/download/0.9.18/uv-x86_64-pc-windows-msvc.zip
下载解压:将目录添加至环境变更
image

uv --version
# 输出示例:uv 0.7.11uv --help
# 查看可用命令

image

安装 Python

设置环境变更,否则会很慢

UV_PYTHON_INSTALL_MIRROR
https://registry.npmmirror.com/-/binary/python-build-standalone/

UV_INDEX_URL
https://pypi.tuna.tsinghua.edu.cn/simple

image

安装

uv python install 3.12
image

安装最新版本的 Python:
uv python install

安装特定版本的 Python:
uv python install 3.12

安装多个 Python 版本:
uv python install 3.11 3.12
重新安装 Python
uv python install --reinstall
这将重新安装所有之前安装的 Python 版本。Python 发行版不断有改进,因此即使 Python 版本未改变,重新安装也可能解决一些问题。

要查看可用和已安装的 Python 版本:
uv python list
uv python install 3.12

使用

如果你的脚本没有依赖项,可以使用 uv run 来执行它:
uv run example.py
image

依赖

创建工程

uv init -p 3.12
会生成4个文件
image

uv add numpy==1.19.0
image

image

uv tree 查看包的依赖关系

命令

命令 说明
uv run 运行命令或脚本
uv init 创建新项目
uv add 向项目添加依赖项
uv remove 从项目中移除依赖
uv sync 更新项目的环境
uv lock 更新项目的锁文件
uv export 将项目的锁文件导出为另一种格式
uv tree 显示项目的依赖树
uv tool 运行并安装由 Python 包提供的命令
uv python 管理 Python 版本和安装
uv pip 通过与 pip 兼容的接口管理 Python 包
uv venv 创建虚拟环境
uv build 将 Python 包构建为源代码分发包和 wheel 包
uv publish 将分发包上传到索引
uv cache 管理 uv 的缓存
uv self 管理 uv 可执行文件
uv version 显示 uv 的版本
uv help 显示某个命令的文档
http://www.rkmt.cn/news/117151.html

相关文章:

  • 任务5-2 关联查询和子查询
  • 【计算机毕业设计案例】基于springboot+微信小程序的选修课管理系统的设计与实现“课程查询-在线选课-课表管理-成绩追踪”(程序+文档+讲解+定制)
  • AI如何帮助开发者防御DDoS攻击?
  • WSL2 多 GPU CUDA 初始化问题排查与解决指南
  • zzRAG 的检索优化:MMR 平衡相关性与多样性
  • day40复习日@浙大疏锦行
  • 雷达回波图光流法外推项目实战!
  • Frida-Labs0x3-0xB WP
  • MySQL架构长啥样?
  • Arbess从基础到实践(22) - 集成GitPuk+sourcefare+PostIn自动化部署
  • 2025 年最新客服机器人品牌有哪些,看这一篇就够了 - 品牌策略主理人
  • PC耐力板厂家推荐:聚碳酸酯专业制造 + 国际认证(技术实力) - 品牌排行榜
  • 测试中的认知偏差:如何识别与应对思维陷阱
  • OpenVoice V2实战指南:从零开始打造你的专属语音助手
  • ONNX预训练模型极速获取攻略:8大方案解决你的下载困扰
  • 2025年螺旋板式冷凝器生产厂家榜单推荐:可拆式螺旋板式换热器/钛螺旋板式换热器/不锈钢螺旋板式换热器生产厂家精选 - 品牌推荐官
  • 3分钟让你的Qt应用颜值翻倍:10款专业QSS模板免费使用指南
  • 温州建国医院正规专业吗?详情解读”温州建国医院什么样? - 速递信息
  • Blender插件完全指南:从入门到精通的必备工具清单 [特殊字符]
  • 企业利润翻倍的秘密:为什么你的对手都在搭建AI agent
  • 【计算机毕业设计案例】基于SpringBoot北京市公交管理系统的设计与实现基于JAVA的北京市公交管理系统(程序+文档+讲解+定制)
  • 快速生成应用:AI大模型与低代码的无缝融合之道
  • BasePopup:Android弹窗终极指南与高效解决方案
  • 打开PyCharm新建工程,合作博弈的数学工具箱哐当一声砸在桌面上。综合能源系统的利益分配问题像块硬骨头,咱们今天要用Shapley值的牙口啃碎它
  • 反爬虫监控
  • 键盘输入可视化神器:让你的按键操作不再“隐形“
  • 分布式监控终极指南:从业务场景出发的技术选型方法论
  • 开启“全无人测试”,特斯拉创历史新高!
  • 探索EBWO:混合改进的白鲸优化算法
  • 2003-2024年上市公司人工智能采纳程度数据+Stata代码