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

为什么用 uv 替代 pip, pixi 替代 conda?

为什么用 pixi 替代 conda?

  1. 速度:pixi 采用 Rust 实现,比使用 Python 实现的 conda 更快
  2. 原生支持多语言与系统工具
  3. 现代配置:pixi.toml
    • 比 environment.yml(YAML)更简洁、可读性强
    • 支持定义任务(tasks),替代 Makefile 或 shell 脚本:
      [tasks]train="python train.py"lint="ruff check ."
  4. 本地化环境管理
    • Conda 默认将所有环境集中存放在全局目录(如 ~/miniconda3/envs/),
    • 而 pixi 和 uv 则借鉴了 Rust/Cargo 的本地化理念,
    • 默认在项目根目录下创建隔离的环境(如 .pixi/ 或 .venv/),
    • 实现“每个项目自带运行时”,避免依赖冲突和全局污染。

为什么用 uv 替代 pip?

  1. 速度:uv 使用 Rust 编写,性能优越,安装依赖更快
  2. 一体化工具链:uv 集成了环境管理、依赖解析、锁定机制等功能,无需切换工具
    • 传统 Python 工作流常需多个工具:
      python-mvenv .venv# 创建环境source.venv/bin/activate# 激活pipinstall-rrequirements.txt# 安装pip freeze>requirements.lock# 锁定(不精确)
    • 而 uv 一条命令搞定:
      uv venv# 创建虚拟环境uv pipinstall-rrequirements.txt# 极速安装uv lock# 生成精确的 `uv.lock`(类似 `poetry.lock`)
  3. 依赖安装:
    • pip install 只会安装缺失的包,不会清理多余的残留,导致环境污染
    • 而 uv sync 会根据锁定文件uv.lock自动增删包,保持环境纯净
  4. 完全兼容现有生态
    • 支持 requirements.txt、pyproject.toml、setup.py 等标准格式。
    • 可直接替换项目中的 pip 命令,零迁移成本。
    • 生成的标准虚拟环境,与 IDE(VS Code、PyCharm)无缝集成。

Pixi

安装

# Linux/macOScurl-fsSLhttps://pixi.sh/install.sh|sh# Windowspowershell-ExecutionPolicyByPass-c"irm -useb https://pixi.sh/install.ps1 | iex"# 安装会自动把pixi添加到环境变量中,但是需要重启终端才能使用pixi命令pixi--version# 如果安装成功,会显示pixi的版本号

从头开始初始化一个项目

pixi init# ls -a# .gitattributes .gitignore pixi.toml

添加包

pixiaddwandb# 添加 Conda 包pixiadd--pypiwandb# 添加 PyPI 包

安装依赖

pixiinstall# 状态同步:根据 pixi.toml 自动增删pixi/envs/default中的依赖,保持环境纯净

运行脚本

pixi run python script.py

uv

安装

# Linux/macOScurl-fsSLhttps://astral.sh/uv/install.sh|sh# 安装会自动把uv添加到环境变量PATH中,但是需要重启终端才能使用uv命令# echo 'export PATH="$HOME/.local/bin:$PATH"' >> /root/.bashrc# source /root/.bashrc# Windowspowershell-ExecutionPolicyByPass-c"irm https://astral.sh/uv/install.ps1 | iex"# 安装会自动把uv添加到环境变量中,但是需要重启终端才能使用uv命令uv--version# 如果安装成功,会显示uv的版本号

从头开始初始化一个项目

uv init# ls -a# .git .gitignore .python-version README.md main.py pyproject.toml

添加包

uvaddwandb

安装依赖

uvsync# 状态同步:根据 project.toml 和 uv.lock 自动增删.venv/site-packages的依赖,保持环境纯净

运行脚本

uv run script.py

注:如果uv adduv sync速度慢,可以为项目更换国内镜像源加速,在 pyproject.toml 中添加如下配置:

[tool.uv] [[tool.uv.index]] name = "tsinghua" url = "https://pypi.tuna.tsinghua.edu.cn/simple/" default = true

选择使用哪个工具

uv进阶

uv cache prune# 只移除不再被任何项目引用的包,安全系数高uv cache clean# 会删光所有缓存,下次安装慢。uv cachedir# 查看 uv 当前的缓存目录mkdir-p/hy-tmp/.uv_cache# 先设置新缓存路径(避免清理后重新下载到老路径)echo'export UV_CACHE_DIR=/hy-tmp/.uv_cache'>>~/.bashrc# 永久设置环境变量grepUV_CACHE_DIR ~/.bashrc# 查看是否已写入 bashrcuv cache cleancd/hy-tmp/tadUV_LINK_MODE=copy uvsync# .venv是虚拟环境,Python包可以硬链接,但是非Python包(Torch、CV等)不能硬链接,所以还是会占用磁盘空间
http://www.gsyq.cn/news/1523642.html

相关文章:

  • MPC8245 ROM/Flash接口配置实战:从地址映射到时序调优
  • EHCI同步分裂事务调度与状态机:从TT原理到siTD实现
  • Sunshine游戏串流平台:打造个人专属云游戏服务器的完整指南
  • 2026Q3 不锈钢水箱选购参考:多地区实体生产企业实力实测解读 - 品牌智鉴榜
  • EasyExcel模板填充图片踩坑实录:从本地路径到网络URL的完整解决方案
  • 5分钟掌握KMS_VL_ALL_AIO:终极Windows和Office智能激活解决方案
  • 5分钟搭建终极OBS RTSP服务器:obs-rtspserver插件完整指南
  • 嵌入式DDR内存ECC错误注入与检测机制实战解析
  • 视频转PPT终极指南:3分钟自动提取会议课件内容
  • 自动苹果采摘机的机械结构设计23(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码
  • MPC8309 DMA引擎核心架构、寄存器配置与实战应用详解
  • MPC8544E L2缓存/SRAM配置实战:从架构解析到性能调优
  • 西门子S7协议连接PLC频繁断开?C#开发排坑指南
  • 别再死记硬背了!通过‘图书管理’案例,一次搞懂顺序表和链表的本质区别
  • MPC7450 L3缓存时序调优:L3OHCR与L3ITCRx寄存器实战解析
  • MPC8260 ATM控制器配置实战:从连接表到AAL5/AAL1协议详解
  • WhatsApp高吞吐IM架构核心:Erlang OTP与端到端加密实践
  • FModel终极指南:轻松解锁虚幻引擎游戏资源宝库的免费神器
  • MPC8245性能监控器实战:阈值过滤与计数器级联深度解析
  • B站视频下载神器!视频无损8K画质提取下载!可下载字幕、封面等
  • 基于PLC全自动药品包装机系统设计4123 基于PLC全自动药品包装机系统设计+程序+说明书(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码
  • .NET原生AI Agent框架:用C#构建可扩展工具调用智能体
  • MPC8309嵌入式系统启动全解析:SD卡与SPI EEPROM引导实战
  • 2026年全国7大宋氏美学家具公司推荐!2026国内最新排名出炉,广东佛山琦沐韵家具实力领先 - 十大品牌榜
  • MPC8323E QUICC Engine配置与中断机制深度解析
  • B站视频下载终极指南:解锁4K高清离线观看的完整方案
  • ChatGPT 5.5 实战指南:开发者如何把 AI 真正用进日常研发流程?
  • 微信聊天记录永久保存神器:WeChatExporter让你的珍贵对话永不丢失! [特殊字符]
  • MPC7450缓存一致性机制:MESI协议、缓存控制指令与总线窥探实战解析
  • 2026大庆市伯爵+沛纳海手表专业回收,26年精选回收店铺排行榜推荐 - 谊识预商贸