当前位置: 首页 > 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.jsqmd.com/news/106191/

相关文章:

  • 测试决策的心理因素:在认知偏差与专业判断间寻找平衡
  • 上海防水补漏上门维修服务哪家好?认准芮生建设,14年专业团队守护安居 - shruisheng
  • 33、Linux线程同步与互斥
  • TestDisk数据恢复实战:从分区丢失到文件找回的完整指南
  • 使用 C# 将 DataTable 和 Excel 数据互转
  • 完整教程:SQL常用语句解析:从查询到操作
  • MySQL架构长啥样?
  • 【计算机毕业设计案例】基于springboot+微信小程序的选修课管理系统的设计与实现“课程查询-在线选课-课表管理-成绩追踪”(程序+文档+讲解+定制)
  • 3个关键步骤解决JimuReport报表组件依赖配置难题
  • 上海专业做室外防水 选芮生建设 14年经验守护建筑外墙屋顶不漏 - shruisheng
  • FPGA在AI时代的角色重塑:硬件可重构性与异构计算的完美结合
  • AI如何帮助开发者防御DDoS攻击?
  • 2025 年最新客服机器人品牌有哪些,看这一篇就够了 - 品牌策略主理人
  • WSL2 多 GPU CUDA 初始化问题排查与解决指南
  • AI学习机是智商税吗?实测告诉你真相+2025年推荐清单 - 品牌测评鉴赏家
  • zzRAG 的检索优化:MMR 平衡相关性与多样性
  • 突破与变革:2026年AI领域的技术创新与新机会
  • day40复习日@浙大疏锦行
  • GEO优化实战指南:如何让品牌在AI搜索中被优先引用
  • 测试中的认知偏差:如何识别与应对思维陷阱
  • 【AI】免费的代价?Google AI Studio 使用指南与 Cherry Studio + MCP 实战教程
  • 【tRPC-Go 框架】深度解析:特性、架构及与主流RPC框架对比
  • MCP概念和实践
  • ONNX预训练模型极速获取攻略:8大方案解决你的下载困扰
  • 3分钟让你的Qt应用颜值翻倍:10款专业QSS模板免费使用指南
  • 2025年螺旋板式冷凝器生产厂家榜单推荐:可拆式螺旋板式换热器/钛螺旋板式换热器/不锈钢螺旋板式换热器生产厂家精选 - 品牌推荐官
  • OpenVoice V2实战指南:从零开始打造你的专属语音助手
  • 使用格子玻尔兹曼方法(LBM)模拟液滴分裂的伪势模型Matlab程序
  • 【Go 语言】核心特性、基础语法及面试题
  • 温州建国医院正规专业吗?详情解读”温州建国医院什么样? - 速递信息