什么是python uv,如何在windows上安装uv,基础的用法有哪些?

什么是python uv,如何在windows上安装uv,基础的用法有哪些?

什么是Python UV?
UV是由Astral公司(Rust工具Ruff的开发者)推出的高性能Python包管理工具,基于Rust编写,旨在替代传统的pippip-tools。其核心优势在于极快的速度(比pip快10-100倍)、轻量级设计(仅几十MB)以及现代化的依赖管理(支持pyproject.tomluv.lock文件)。UV集成了虚拟环境管理、Python版本控制、依赖解析等功能,目标是成为类似Rust Cargo的全能工具,简化Python开发流程。


在Windows上安装UV的3种方法

使用Pipx(适合全局工具管理)
若已安装pipx

pipx install uv 

PowerShell脚本安装
打开PowerShell,执行:

irm https://astral.sh/uv/install.ps1 |iex

通过PIP安装(推荐)
直接使用Python自带的pip安装,兼容性最佳:

pip install uv 

安装后,uv会被添加到系统环境变量,即使切换虚拟环境也能使用。

注意:若通过包管理器(如Chocolatey)安装,可能版本较旧,建议优先使用pip或官方脚本。


UV基础用法详解

  1. 依赖管理

导出依赖:

uv pip freeze > requirements.txt # 兼容传统格式

添加/移除包:

uv add requests # 自动更新pyproject.toml uv remove pandas 

同步依赖
根据pyproject.tomluv.lock自动安装依赖:

uv sync

初始化项目

uv init # 生成pyproject.toml和uv.lock

安装依赖包
语法与pip一致,但速度更快:

uv pip install requests pandas # 安装最新版 uv pip install"numpy>=1.21"# 版本约束

创建虚拟环境

uv venv .venv # 默认创建.venv目录 uv venv -p3.12# 指定Python版本(需已安装)

激活环境

.venv\Scripts\activate # Windows 

典型工作流示例
假设新建项目demo

mkdir demo &&cd demo uv init echo"requests"> pyproject.toml # 手动编辑依赖 uv sync# 自动创建.venv并安装 .venv\Scripts\activate uv pip list # 查看已安装包

为什么选择UV?

  • 速度碾压传统工具:依赖解析和安装耗时仅为pip的1/10。
  • 一体化管理:无需额外安装virtualenvpyenv,直接管理Python版本和依赖。
  • 跨平台支持:Windows/Linux/macOS命令一致,减少学习成本。
  • 现代化标准:支持pyproject.toml,与Rust/Node.js生态对齐。

若你受够了pip的缓慢和conda的臃肿,UV是当前最优解。

Python虚拟环境创建方式多样,除了uv之外,以下是其他主流方法及对比:


1. 内置工具:venv模块

适用场景:Python 3.3+原生支持,无需安装额外工具

# 创建环境 python -m venv .venv # 激活(Windows) .venv\Scripts\activate 

特点
✅ 无需安装,开箱即用
❌ 依赖解析功能较弱,不支持跨Python版本管理


2. 第三方工具:virtualenv

适用场景:兼容Python 2/3,老项目维护

# 安装 pip install virtualenv # 创建环境 virtualenv myenv # 指定Python版本(需已安装) virtualenv -p /path/to/python myenv 

特点
✅ 支持旧版Python
✅ 灵活指定解释器路径
❌ 依赖pip安装,功能单一


3. 集成化工具:pipenv

适用场景:依赖管理+虚拟环境一体化

# 安装 pip install pipenv # 创建环境并安装包 pipenv install requests # 激活 pipenv shell 

特点
✅ 自动生成PipfilePipfile.lock
✅ 依赖解析更严谨
❌ 性能较慢,社区活跃度下降


4. 科学计算生态:conda

适用场景:数据科学/跨语言依赖管理

# 创建环境 conda create -n myenv python=3.11# 激活 conda activate myenv 

特点
✅ 支持非Python包(如C++库)
✅ 内置Python版本管理
❌ 安装包体积大(约500MB)


5. 现代工具链:poetry

适用场景:项目打包与依赖管理深度集成

# 初始化项目(自动创建环境) poetry new myproject poetry install# 激活 poetry shell 

特点
✅ 自动生成pyproject.toml
✅ 支持依赖分组(dev/test)
❌ 学习成本较高


横向对比

工具启动速度Python版本管理依赖管理适用场景
uv⚡极快现代项目全能工具
venv中等轻量级快速隔离
pipenv较慢依赖锁定的传统项目
conda数据科学/跨语言项目
poetry中等需要打包的库项目

选择建议

  • 追求极速:优先选uv
  • 简单隔离:用内置venv
  • 科学计算:选conda
  • 项目发布:用poetry
  • 旧版兼容:选virtualenv

Read more

Flutter 三方库 matcher 的鸿蒙化适配指南 - 实现具备语义化断言与自定义匹配算法的测试契约框架、支持端侧质量验证的强力抽象实战

Flutter 三方库 matcher 的鸿蒙化适配指南 - 实现具备语义化断言与自定义匹配算法的测试契约框架、支持端侧质量验证的强力抽象实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 matcher 的鸿蒙化适配指南 - 实现具备语义化断言与自定义匹配算法的测试契约框架、支持端侧质量验证的强力抽象实战 前言 在进行 Flutter for OpenHarmony 开发时,当编写单元测试时,我们经常使用 expect(actual, matcher) 这种语法。你是否想过,如何让断言读起来像自然语言一样?或者,如何自定义一套专门针对鸿蒙原生组件状态的对比逻辑?matcher 是 Dart 官方维护的断言库扩展,它定义了测试中所有“匹配逻辑”的底层协议。本文将探讨如何在鸿蒙端构建极致、严谨的质量契约体系。 一、原直观解析 / 概念介绍 1.1 基础原理 该库建立在“谓词逻辑(Predicate Logic)”之上。它通过将复杂的 Object

By Ne0inhk
Python+Django的多彩吉安红色旅游网站的设计与实现(Pycharm Flask Django Vue mysql)

Python+Django的多彩吉安红色旅游网站的设计与实现(Pycharm Flask Django Vue mysql)

收藏关注不迷路!!需要的小伙伴可以发链接或者截图给我 项目介绍 Python+Django的多彩吉安红色旅游网站的设计与实现(Pycharm Flask Django Vue mysql) 项目展示 详细视频演示 请联系我获取更详细的演示视频 感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人 技术栈 项目编号: 本课题使用Python语言进行开发。代码层面的操作主要在PyCharm中进行,将系统所使用到的表以及数据存储到MySQL数据库中,方便对数据进行操作本课题基于WEB的开发平台 开发语言:Python 框架:flask/django的都有 Python版本:python3.7.7 数据库:mysql 数据库工具:Navicat 开发软件:PyCharm 浏览器:谷歌浏览器 本系统的开发与设计是基于vue为前端页面核心框架为django/flask,技术方面主要采用了Html、Js、CSS3、p

By Ne0inhk
DormOne|基于 Flutter × HarmonyOS 6.0 的新生宿舍管理系统— 数据结构与整体架构设计 + 核心代码深度解析

DormOne|基于 Flutter × HarmonyOS 6.0 的新生宿舍管理系统— 数据结构与整体架构设计 + 核心代码深度解析

DormOne|基于 Flutter × HarmonyOS 6.0 的新生宿舍管理系统— 数据结构与整体架构设计 + 核心代码深度解析 前言 随着高校信息化建设的加速,新生入学流程已经逐步从“人工登记”转向“智能管理”。宿舍分配、入住登记、通知公告、报修反馈等场景高度碎片化、数据结构复杂,传统 Web 管理后台已难以满足高并发与移动端实时交互的需求。 本项目以 Flutter × HarmonyOS 6.0 为技术基座,设计并实现一套面向高校的新生宿舍管理系统 —— DormOne(宿舍一站式管理平台),实现“分配透明、流程可视、管理智能”。 背景 传统宿舍管理存在的问题 问题说明信息割裂教务系统、后勤系统、人工登记不互通流程混乱新生不清楚入住步骤数据不可视管理员难以统计入住状态通知滞后重要公告无法触达学生跨平台困难安卓 / 鸿蒙 / iOS 多套代码 Flutter × HarmonyOS 6.0 跨端开发介绍 为什么选择

By Ne0inhk

从零开始:Codex CLI 在 Mac 上的安全部署与权限管理

从零开始:Codex CLI 在 Mac 上的安全部署与权限管理 1. 环境准备与基础安全考量 在 macOS 上部署 Codex CLI 时,安全应该从环境准备阶段就开始考虑。不同于简单的安装教程,我们需要关注每个环节的潜在风险。 系统要求检查清单: * macOS 12 或更高版本(确保获得完整的安全更新支持) * Node.js 22+(LTS 版本,避免使用不受支持的旧版本) * npm 10+(最新稳定版) * 至少 8GB 内存(避免因资源不足导致异常行为) 重要提示:永远不要使用 sudo 安装 npm 包,这会导致全局包安装目录的权限问题。如果遇到权限错误,应该通过 npm config set prefix 调整安装路径。 推荐的安全实践:

By Ne0inhk