现代 Python 开发:uv 安装、配置与最佳实践

现代 Python 开发:uv 安装、配置与最佳实践

目录

一、uv 是什么?

uv 是由 Astral 公司开发的 Rust 编写的 Python 工具链,核心优势是极速(比 pip 快 10-100 倍)、功能全面,集成了包安装、虚拟环境管理、依赖解析、项目构建等能力,兼容 pip/pipenv/poetry 的生态。

  1. uv 官方文档(最核心)
    地址:https://docs.astral.sh/uv/
    这是 uv 最权威的使用指南,包含安装、基础用法、进阶功能、API 参考等所有内容,也是排查问题的首选。
  2. uv GitHub 源码仓库
    地址:https://github.com/astral-sh/uv
    可以查看源码、提交 Issue(反馈问题)、提 PR(贡献代码),也能在 Releases 页面下载指定版本的 uv 安装包,查看更新日志。
  3. uv 快速入门教程
    地址: https://docs.astral.sh/uv/getting-started/
    官方专为新手设计的快速上手指南,比完整文档更精简,适合刚接触 uv 时快速掌握核心用法。

二、uv 的安装

1. 通用安装方式(推荐)

适用于 macOS、Linux、Windows(PowerShell),执行以下命令自动下载适配系统的版本:

# macOS/Linuxcurl-LsSf https://astral.sh/uv/install.sh |sh# Windows (PowerShell) powershell -c"irm https://astral.sh/uv/install.ps1 | iex"
2. 包管理器安装(可选)

pip 安装(不推荐,仅应急)

pip install uv 

Cargo (Rust 环境)

cargoinstall uv --locked

Homebrew (macOS/Linux)

brew install uv 
3. 验证安装

安装完成后,重启终端,执行以下命令验证:

uv --version# 输出示例:uv 0.1.37 (a1b2c3d 2026-03-03)

三、uv 核心使用场景

1. 基础包安装/卸载

uv 兼容 pip 的大部分用法,且默认使用虚拟环境(无需手动激活),核心命令如下:

功能uv 命令说明
安装包uv pip install requests极速安装单个包
安装指定版本uv pip install requests==2.31.0安装特定版本
从 requirements.txtuv pip install -r requirements.txt批量安装依赖,速度远快于 pip
升级包uv pip install --upgrade requests升级包到最新版本
卸载包uv pip uninstall requests卸载包
查看已安装包uv pip list列出当前环境的包
导出依赖uv pip freeze > requirements.txt导出已安装包到文件
2. 虚拟环境管理

uv 内置虚拟环境功能,比 venv 更简洁:

# 创建虚拟环境(默认在 .venv 目录) uv venv # 激活虚拟环境# macOS/Linuxsource .venv/bin/activate # Windows (Cmd) .venv\Scripts\activate.bat # Windows (PowerShell) .venv\Scripts\Activate.ps1 # 删除虚拟环境rm-rf .venv # macOS/Linuxrmdir /s .venv # Windows
3. 项目依赖管理(兼容 pyproject.toml)

uv 支持现代 Python 项目的 pyproject.toml 配置,替代 requirements.txt

# 初始化项目(生成 pyproject.toml) uv init my_project cd my_project # 添加依赖(自动写入 pyproject.toml) uv add requests # 生产依赖 uv add--dev pytest # 开发依赖# 安装项目所有依赖(从 pyproject.toml) uv install# 同步依赖(移除未在 pyproject.toml 中声明的包) uv sync
4. 运行 Python 代码/脚本

uv 可直接运行代码,自动使用当前虚拟环境:

# 运行脚本 uv run script.py # 运行临时代码 uv run -c"print('Hello, uv!')"# 运行模块 uv run -m http.server 8000

四、进阶用法

缓存管理uv 有全局缓存,清理缓存命令:

uv cache clean # 清理所有缓存

指定 Python 版本uv 可自动下载指定版本的 Python(需提前安装 pyenvuv 内置的 Python 解析器):

uv python install3.11# 安装 Python 3.11 uv run --python3.11 script.py # 使用 3.11 运行脚本

加速 pip 兼容:如果项目暂时不想切换到 uv 命令,可通过 uv 加速 pip:

uv pip install requests # 等同于 pip install,但更快

总结

  1. uv 是高性能的 Python 包/环境管理工具,安装简单,兼容 pip/venv 生态,核心优势是速度快、功能集成度高。
  2. 核心用法:uv pip install(安装包)、uv venv(虚拟环境)、uv add(管理项目依赖)、uv run(运行代码)。
  3. 推荐在新项目中使用 uv init + pyproject.toml 替代传统的 requirements.txt,提升依赖管理规范性。

Read more

Xiaomusic 让小爱音箱解锁本地曲库,内网穿透更能远程点歌

Xiaomusic 让小爱音箱解锁本地曲库,内网穿透更能远程点歌

Xiaomusic 是一款专为小爱音箱打造的本地音乐管理工具,核心功能是绑定小米账号后让小爱音箱直接读取 NAS 中的音乐文件,支持语音点播、随机播放、循环歌单等基础操作,适配所有能运行 Docker 的设备,无论是家用 NAS(极空间、群晖等)还是普通电脑都能部署。它的适用人群主要是有本地音乐收藏习惯、不想被音乐平台会员限制的用户,尤其是家中有小爱音箱且配备 NAS 的家庭用户,优点在于部署门槛低,无需编程基础,轻量化占用资源少,还能通过网页端可视化管理歌单和设备,操作简单易上手。 使用 Xiaomusic 时能明显感受到本地音乐调用的便捷性,比如喊一声 “播放收藏的经典老歌” 就能秒响应,但也有需要注意的地方:小米账号绑定后建议定期检查登录状态,避免因账号安全设置导致连接失效;NAS 中的音乐文件最好按统一格式整理,否则可能出现语音点播识别不准确的情况;另外部署时要确保存储路径设置正确,不然会出现音乐文件无法读取的问题。 不过仅在局域网内使用 Xiaomusic 会有明显的局限性,比如人在公司想给家里的老人点播戏曲,却因为不在同一网络无法操作;出门旅游时想远程调整家中小爱音箱的

By Ne0inhk
【降低 30% 开发成本:使用 Trae IDE 将 Figma 设计稿转化为前端代码】

【降低 30% 开发成本:使用 Trae IDE 将 Figma 设计稿转化为前端代码】

降低 30% 开发成本:使用 Trae IDE 将 Figma 设计稿转化为前端代码_ide_葡萄城技术团队-葡萄城开发者空间 TRAE与Figma MCP:iOS原生应用UI自动生成的艺术-易源AI资讯 | 万维易源 Login | Figma 基于提供的Figma设计文件和网页链接,开发一个完整的前端网站项目。具体要求如下: 1. 页面展示要求: * 采用平铺式布局展示所有页面 * 严格遵循Figma设计稿中的视觉规范 * 实现IOS风格的高保真原型效果 * 确保所有交互元素与设计稿一致 2. 技术实现要求: * 使用现代前端框架(如React/Vue) * 实现响应式布局,适配不同设备 * 添加平滑的页面过渡动画 * 确保所有UI组件的高还原度 3. 交付物要求: * 完整的可运行前端代码 * 详细的部署文档 * 跨浏览器兼容性测试报告 * 性能优化方案 4. 质量标准: * 像素级还原设计稿 * 所有交互功能完整可用 * 代码符合最佳实践

By Ne0inhk

别装了!你写的JS代码全在“裸奔”,99%前端都在背锅!

今天,我想直接撕开一个血淋淋的真相。 在这个行业里,我审查过无数的JavaScript应用程序,甚至包括那些大厂出品的标杆项目。然而,它们几乎无一例外地都藏着致命的安全漏洞。 这不是因为前端开发者们在摸鱼,也并非因为团队对最佳实践视而不见。 真正的原因在于,现代JavaScript这头巨兽实在太复杂、进化太快了,而且它从头到脚都布满了让人防不胜防的暗坑。 无论是在初创公司的草台班子、企业级的豪华看板,还是那些每天处理着真金白银和海量真实用户的核心生产系统里,我一遍又一遍地看着同样的悲剧反复上演。 JS的安全漏洞,最喜欢玩“死一般寂静” 报错导致APP崩溃?那反而是你修了八辈子福得来的福报! 通常来说,当你把代码搞砸了,你立马就能收到反馈。 比如一个直接报错的API请求,一个四分五裂的页面布局,或者测试控制台里那片刺眼的爆红。 但是,安全漏洞根本不跟你玩这套,它们就像隐形杀手一样,蛰伏在死一般的寂静中。 你的UI看起来美轮美奂。你的API跑得顺风顺水。你的自动化测试全绿通过。 可就在同时,在那些你看不见的阴暗角落里,黑客可能正在疯狂窃取你用户的会话令牌(Session

By Ne0inhk
【AI×实时Linux:极速实战宝典】视觉SLAM - 在实时Linux上优化ORB-SLAM3,解决前端特征提取的丢帧问题

【AI×实时Linux:极速实战宝典】视觉SLAM - 在实时Linux上优化ORB-SLAM3,解决前端特征提取的丢帧问题

1. 简介:为什么要在实时 Linux 上跑 SLAM? 视觉 SLAM(vSLAM)是移动机器人、AR/VR、自动驾驶的“视觉小脑”。ORB-SLAM3 作为目前最完整的开源方案,支持单目、双目、IMU,但在 ARM 嵌入式板(如 Jetson Nano、树莓派 5、RK3588)上跑 640×480@30 fps 时,前端特征提取经常“卡帧”——一帧图像超过 33 ms 才能处理完,导致: * 地图漂移,定位精度下降 * 后端优化线程饥饿,直接丢帧 * 用户空间非实时线程被 Linux CFS 调度器“抢跑”

By Ne0inhk