Pixi:为可复现开发环境而生的下一代包管理器 #
Pixi 是什么? #
Pixi 是一款快速、现代、可复现的包管理工具,面向各种背景的开发者。
它的核心思路是:把「环境创建、依赖解析、任务执行、工具安装」全部收敛到一套命令行工作流里。开发者只需在项目目录执行 pixi init,再用 pixi add 声明依赖,Pixi 就会自动生成并维护一个 lock 文件,确保团队成员、CI 流水线和生产环境拿到完全一致的依赖版本,从根本上解决「在我机器上能跑」的经典痛点。
Pixi 默认接入 conda-forge 这一庞大的 Conda 包仓库(超过 30,000 个包),因此不只服务于 Python——C/C++、Java、Rust、Node.js、命令行工具等都能在同一个工作区中统一管理。配合内置的任务运行器与全局工具安装能力,它可以替代 apt、Homebrew、winget 等系统级包管理器的部分职责,是新一代跨平台开发环境管理方案。
Pixi 有哪些亮点特色? #
- 🔄 开箱即用的可复现性:内置 lock 文件机制,环境相互隔离且可随时精确重建。任何人拉取仓库后执行一次同步,就能得到与作者完全一致的依赖树,消除环境漂移问题。
- 🛠️ 内置任务运行器:通过
pixi task add把复杂流水线固化为命名任务,再用pixi run <任务名>一键执行。无需额外引入 Make、Just 或 npm scripts,项目脚本从此跨平台统一。 - 🌐 真正的多平台支持:同一份清单可在 Linux、macOS、Windows 上工作,支持为不同平台声明差异化依赖,无需为每个操作系统单独维护配置文件。
- 🧩 多环境组合能力:可以在单个 manifest 中组合出多个环境(例如 default、test、docs、cuda),各环境共享依赖解析结果,既能复用又彼此隔离。
- 🐍 对 Python 生态友好:同时支持 conda 包与 PyPI 包,通过 uv 完成 PyPI 依赖解析,并兼容标准的
pyproject.toml,Python 项目迁移成本极低。 - 💾 磁盘占用更省:环境之间通过硬链接(hard link)或 reflink 共享文件,同一个包在磁盘上只存储一份,多个项目并行开发也不必担心空间爆炸。
- 🌍 全局工具安全安装:
pixi global install可把 gh、nvim、ipython、btop、ripgrep 等工具安装到隔离环境中,并统一暴露到 PATH,是 apt、Homebrew、winget 的可行替代方案。 - 🤖 一流机器人开发支持:通过 RoboStack 提供跨平台的 ROS 2 支持,让机器人项目也能享受可复现的依赖管理体验。
在官方对比表中,Pixi 同时具备「安装 Python、支持多语言、Lock 文件、任务运行器、工作区管理」五项核心能力,是唯一全部打勾的工具,而 Conda、Pip、Poetry、uv 都只覆盖其中一部分。
免费下载 Pixi #
以下为官方提供的各平台安装包,点击链接即可下载。
| 文件名 | 描述 | 大小 | 下载 |
|---|---|---|---|
| pixi-aarch64-apple-darwin.tar.gz | macOS(Apple Silicon / aarch64)压缩包 | 28.3 MB | 夸克网盘 |
| pixi-aarch64-pc-windows-msvc.exe | Windows(ARM64 / aarch64)可执行文件 | 73.3 MB | 夸克网盘 |
| pixi-x86_64-pc-windows-msvc.exe | Windows(64 位 x86_64)可执行文件 | 91.5 MB | 夸克网盘 |
提示:官网也提供了脚本化安装方式(见下文「Pixi 如何安装?」),可直接获得对应平台的最新版本。
Pixi 如何使用? #
Pixi 的使用门槛很低,官网用「Project setup is a breeze」来形容它的上手体验。下面以创建一个 Python 工作区为例说明基本流程。
-
初始化工作区:进入你的项目目录,执行
pixi init hello-world,Pixi 会生成pixi.toml清单文件与工作区结构,然后cd hello-world进入目录。pixi init hello-world cd hello-world -
添加依赖:用
pixi add声明项目所需的依赖,Pixi 会自动完成解析、下载与 lock 文件写入。pixi add cowpy python -
添加并运行任务:把常用命令固化成任务,之后团队成员用同一条命令即可运行。
pixi task add start python hello.py pixi run start运行后会看到类似输出:
✨ Pixi task (start): python hello.py __________________ < Hello Pixi fans! > ------------------ -
进入交互式 Shell:需要手动执行命令、调试环境时,可直接激活环境。
pixi shell python hello.py exit -
安装全局工具:把常用 CLI 工具装进隔离环境,并在所有终端中可用。
pixi global install gh nvim ipython btop ripgrep
除 Python 外,官网同样给出了 Rust、Node.js、ROS 2 与 DevOps 场景的完整示例(例如 pixi add rust 后接 pixi run cargo init,或用 pixi add ros-humble-desktop 搭建 ROS 2 环境),整体命令行结构保持一致,学习一次即可迁移到任意语言栈。
Pixi 的常见问题? #
Pixi 和 Conda / Mamba 有什么区别?
Pixi 复用了 Conda 生态的包与仓库(默认为 conda-forge),但重新设计了工作流:它把 lock 文件、任务运行器和多环境管理作为核心能力内置,安装时无需预先准备 base 环境,也不需要手动 conda activate。官方对比表显示,Conda 并不具备任务运行器与 lock 文件能力,而 Pixi 两者兼具。
Pixi 是免费的吗? Pixi 是开源免费的工具,可直接从官网脚本或发布渠道获取,没有功能阉割或强制付费门槛。其背后的 Prefix.dev 提供托管频道等面向团队的服务,但个人开发与常规项目使用不需要付费。
Pixi 支持 PyPI 上的包吗?
支持。Pixi 通过 uv 完成 PyPI 依赖解析,同时兼容标准的 pyproject.toml,因此既可以使用 Conda 生态的科学计算包,也可以使用只在 PyPI 上发布的纯 Python 包。
lock 文件需要提交到版本控制吗? 建议提交。lock 文件是 Pixi 实现可复现性的关键,把它纳入 Git 后,团队成员与 CI 执行同步时就能得到完全一致的依赖版本,这是 Pixi 相对传统 Conda 工作流的主要优势之一。
安装完成后提示找不到 pixi 命令怎么办? 安装脚本需要生效时间,官网明确提示「Now restart your terminal or shell!」。请重启终端,或手动 source 对应的 shell 配置文件后再试。如果仍然无效,请检查安装目录是否已加入 PATH。
Pixi 支持机器人开发吗? 支持。Pixi 通过 RoboStack 提供跨平台的 ROS 2 支持,官方文档中包含独立的 ROS 2 教程,可用于搭建可复现的机器人开发环境。
Pixi 如何安装? #
Windows #
-
打开 PowerShell。
-
执行官方安装脚本:
powershell -ExecutionPolicy ByPass -c "irm -useb https://pixi.sh/install.ps1 | iex" -
安装完成后重启终端,使 PATH 变更生效。
-
也可以直接下载上文「免费下载 Pixi」表格中的
.exe安装包,按提示完成安装。
Linux 与 macOS #
-
打开终端。
-
执行官方安装脚本:
curl -fsSL https://pixi.sh/install.sh | sh -
安装完成后重启终端或 source 你的 shell 配置,让安装生效。
-
macOS(Apple Silicon)用户也可以下载表格中的
pixi-aarch64-apple-darwin.tar.gz手动解压使用。
关于安装脚本的安全性 #
官网特别说明:安装脚本是开源的,代码托管在 GitHub 上,你可以先下载并审阅脚本内容再决定是否执行(官网提供了 .sh 与 .ps1 脚本的下载入口)。此外,官网还提供了更多安装选项页面,涵盖不同环境与包管理器渠道。
Pixi 如何卸载? #
说明:官网调研资料中未单列卸载章节,以下为基于其安装方式整理的通用步骤,同时参考社区常见做法,具体路径以你自己的安装配置为准。
Windows #
- 如果你是通过
.exe安装包安装的,进入「设置 → 应用 → 已安装的应用」(或控制面板的「程序和功能」),找到 Pixi 并选择卸载。 - 如果你是通过 PowerShell 脚本安装的,删除用户目录下的 Pixi 安装目录(通常位于
%USERPROFILE%\.pixi)。 - 检查并清理系统环境变量 PATH 中指向 Pixi 的条目。
- 如需彻底清理,可一并删除缓存目录(通常位于
%LOCALAPPDATA%\pixi或用户目录下的.pixi缓存子目录)。
macOS 与 Linux #
-
删除 Pixi 的安装目录,默认位于用户主目录下:
rm -rf ~/.pixi -
编辑你的 shell 配置文件(如
~/.bashrc、~/.zshrc或~/.config/fish/config.fish),移除安装脚本写入的 PATH 相关行(通常包含.pixi/bin或.pixi/envs)。 -
重启终端,确认
pixi命令已不可用。 -
如果通过 Homebrew、Winget、Scoop 等第三方包管理器安装,请使用对应包管理器的卸载命令完成移除。
卸载后,各项目目录中的 pixi.toml、pixi.lock 以及环境缓存(通常位于项目内的 .pixi 目录)属于项目文件,需要你根据实际情况自行决定是否删除。
