UV入门指南:更快的Python包管理工具实践
什么是 UV?
UV 是一款由 Rust 编写的现代化 Python 包管理工具,凭借其惊人的性能和直观的用户体验迅速崭露头角。作为传统 pip 的强力替代品,UV 不仅提供了极速的依赖解析能力,还带来了更智能的包管理体验和全方位的项目环境控制。
还有他是学习 python 构建 mcp 的基础。
UV 的核心优势 ✨
- 极速安装:相比传统工具,依赖解析和包安装速度提升 10-100 倍
- 一站式解决方案:一个工具替代 pip、pip-tools、pipx、poetry、pyenv、virtualenv 等多种工具
- 智能依赖管理:自动处理复杂依赖关系,有效避免版本冲突
- 虚拟环境集成:无缝创建和管理项目虚拟环境
- 通用锁文件支持:通过
uv.lock
确保环境一致性 - 全面的 Python 版本管理:轻松安装和切换不同 Python 版本
- 空间高效:全局缓存机制实现依赖项去重,节省磁盘空间
- 跨平台支持:完美支持 macOS、Linux 和 Windows
安装指南 💻
Windows 系统
1 |
|
MacOS 和 Linux 系统
1 |
|
安装成功后,您将看到类似以下的输出:
1 |
|
💡 提示:按照提示将 UV 添加到系统环境变量,然后重启终端或电脑使其生效。
UV 实战指南:从零开始一个项目 🛠️
Python 版本管理
查看可用的 Python 版本
1 |
|
这个命令会列出所有支持的 Python 版本以及您本地已安装的版本。
查找特定版本的 Python
1 |
|
安装新的 Python 版本
1 |
|
项目初始化
1 |
|
项目名称可选,不指定时将使用当前文件夹名称
初始化后,UV 会自动创建项目配置文件,并识别系统中的 Python 版本:
包管理操作
添加依赖包
1 |
|
执行此命令后,UV 会自动:
- 创建虚拟环境(. Venv)
- 更新锁文件(uv. Lock)
- 修改项目配置(pyproject. Toml)
⚠️ 注意:在 Trae/vscode 编辑器中使用时,建议先关闭 pyproject. Toml 文件再安装第三方库,避免潜在冲突。
查看依赖关系树
1 |
|
输出示例:
1 |
|
移除依赖包
1 |
|
此命令会自动更新所有相关文件,包括虚拟环境、锁文件和项目配置。
依赖文件
1 |
|
快速创建依赖文件,无需单独安装其他库
同步项目环境
1 |
|
根据 pyproject. Toml、. Python-version 等配置文件更新虚拟环境,确保环境与配置一致。
脚本运行与工具集成 🧰
内联依赖的脚本运行
UV 支持在单文件脚本中声明依赖并运行:
1 |
|
代码质量工具集成
UV 提供了与常用开发工具的无缝集成:
代码格式检查(Flake 8)
1 |
|
代码质量检查(Ruff)
1 |
|
💡 小贴士:虽然现代 IDE 已经集成了类似功能,但 UV 的工具集成在 CI/CD 流程或团队协作中仍然非常有价值。
查询已安装的工具
1 |
|
项目打包与发布 📦
在 pyproject. Toml 中添加脚本入口点:
1 |
|
其中 simpleai = "main:main"
,等号前是脚本名称,后面分别是脚本和函数名。
打包项目
1 |
|
这将项目打包为 whl 和 tar. Gz 文件,whl 文件可发布为第三方库。
将本地 whl 作为工具安装
1 |
|
安装后可直接使用 simpleai 命令:
总结与展望 🔮
UV 作为新一代 Python 包管理工具,通过其惊人的性能和友好的用户体验,为 Python 开发者带来了革命性的开发体验。无论是个人项目还是团队协作,UV 都能显著提升开发效率和环境一致性。
而且 uv 和 uvx 也是 python 构建 mcp 的基础。为构建自己的 mcp sever 打下基础。
推荐阅读
- [Python 解释器如何选择]https://mp.weixin.qq.com/s/clJ22Y4GK_jDRM4rSF1O6A
- [Cherry Studio 入门 MCP:为你的大模型插上翅膀]https://mp.weixin.qq.com/s/tWTBpoQ3ER_P2ZQhGKyjqg
BY
如有帮助,请收藏点赞
微信公众号:环境猫 er
CSDN : 细节处有神明
个人博客:https://maoyu92.github.io/
Ping 192.168.30.21
Ping 192.168.30.22