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

uv,下一代Python包管理工具

uv,下一代Python包管理工具

https://segmentfault.com/a/1190000047202911

什么是uv
uv(Universal Virtual)是由Astral团队(知名Python工具Ruff的开发者)推出的下一代Python包管理工具,使用Rust编写。它集成了包管理、虚拟环境、依赖解析、Python版本控制等功能,它聚焦于三个关键点:性能、安全性、以及现代化开发流程的兼容性。

uv的特点
uv是一款新型的 Python 包管理工具,具备以下特点:

极速性能,无缓存时比pip快8-10倍,热缓存时快80-115倍;
功能集成,多工具集成于uv工具中,如:uv pip代替pip,uv python代替pyenv,uv tool代替pipx;
并行化处理:依赖解析、下载、安装全程并行,充分利用硬件资源;
静态分发,没有Python环境时也可以运行,避免版本冲突;
跨平台,支持Windows、Linxu、mac系统,使用方式一致。
安装uv
可以通过以下指令安装uv工具

使用独立安装脚本,通过curl下载并执行安装脚本(适用于macOS/Linux):

curl -LsSf https://astral.sh/uv/install.sh | sh
uv已被收录至Homebrew软件库,mac系统也可以使用以下命令安装:

brew install uv
Windows系统,可以使用PowerShell命令进行安装安装(需管理员权限):

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
通过pip安装,使用pip进行安装(需要安装Python环境):

pip install uv
安装完成后验证版本:uv --version
uv_version.png

uv的使用
无缝替代pip

安装依赖

uv pip install requests pandas

检查依赖

uv pip check

显示包依赖树

uv pip show --tree requests

清理缓存(类似 pip cache purge)

uv cache purge
项目管理
1.创建文件夹python_app,对项目进行初始化,生成虚拟环境、pyproject.toml和.gitignore:

uv init
creat_project.png

2.添加依赖模块,例如pygame,添加后会自动更新pyproject.toml和锁定文件(uv.lock):

uv add "pygame"
add_moudle.png
sync_add.png

3.运行Python程序,

uv run python main.py
4.打包项目

uv build
通过uv.lock文件,在更换运行设备时可以完全复现项目的环境,不需要再额外安装项目所依赖的模块,保证项目可直接运行。

程序的安全防护
uv凭借Rust驱动的高性能特性,优化了Python开发体验,它能极大地提升我们的开发和管理效率。然而,在追求开发效率的同时,我们绝不能忽视另一个至关重要的环节——代码安全。

众所周知,Python作为一种解释型语言,其源代码通常以明文的.py文件形式存在,非常容易被反编译和窃取。当你辛辛苦苦开发的算法或核心逻辑被打包分发时,非常容易被他人获取使用。

因此,在利用uv这样的利器高效完成开发后,强烈建议对关键代码进行加固保护。在这方面,Virbox Protector是一款非常专业的工具,它可以在字节码层次对Python代码进行保护,保障代码的安全。

http://www.rkmt.cn/news/4125.html

相关文章:

  • c++ 的拷贝构造函数
  • 【笔记】类欧几里得算法
  • AQS的一些思考
  • 2 模型评估与选择
  • qoj #8557. Goldberg Machine 题解
  • 『随笔』我的唱歌练习史
  • GitHub Copilot 2025年8月最新更新!
  • 完整教程:计算机毕设 java 多媒体教室管理系统 基于 Java+SSM 的多媒体教室运维平台 Java+MySQL 的教室预约与设备管理系统
  • TCL t508n 关闭电话语音王提醒/改用4G
  • 天地图的带洞多边形操作
  • Kuby免疫学读书笔记01——造血干细胞
  • 动态规划和马尔可夫决策对比
  • 20250913 之所思 - 人生如梦
  • 动态规划
  • 马尔可夫决策
  • C语言学习
  • 《Python数据结构与算法分析》第二弹《2.2.2 异序词检测示例》
  • dfs序基础+树上差分
  • PKU_Compiler
  • 如何绕过谷歌反爬策略爬取搜索结果
  • Rust 生命周期详解 - 实践
  • 笔记《机器人动力学理论及其应用》上交桂凯博士-中科深谷机器人大讲堂第10期
  • [豪の学习笔记] 软考中级备考 基础复习#9
  • 2025CCPC南昌邀请赛游记
  • 软件工程第二次作业-个人项目
  • 2025年API安全建设方案最佳实践:七步五方法
  • Redis为什么适合做分布式锁? - 浪矢
  • 2024年以来,数学领域已有多位在国外顶尖高校取得终身教职的学者回国
  • form表单和表单控件
  • form表单