Pixi 是什么?

Pixi 是一款现代化、快速且可复现的包管理工具,它可以帮你轻松管理项目的依赖和环境。Pixi 构建于强大的 Conda 生态之上,提供了一种以项目为中心、对用户非常友好的管理方式,无论你是哪种类型的开发者,都能快速上手。

Pixi 的几个核心亮点:

  • 跨平台与多语言支持:无论你用的是 Windows、macOS 还是 Linux,它都能无缝运行,并且支持 Python, R, C/C++, Rust 等多种编程语言。
  • 完全可复现:通过一个 pixi.lock 锁文件来精确记录所有依赖的版本,确保团队里每个人的开发环境都一模一样。
  • 以项目为中心:为每个项目独立管理环境,让你的全局环境保持干净,彻底告别项目间的依赖冲突。
  • 快速高效:利用 Mamba 的超高速度来解析和安装依赖,节省你宝贵的时间。

这篇教程将带你一步步了解如何使用 Pixi 来管理你的开发环境。

如何安装

只需一条命令,你就可以轻松安装 Pixi。安装脚本会自动检测你的操作系统并为你安装合适的版本。

macOS 和 Linux 用户:

curl -fsSL https://pixi.sh/install.sh | bash

Windows 用户 (在 PowerShell 中运行):

iwr https://pixi.sh/install.ps1 | iex

安装程序会自动下载 Pixi 并将其添加到系统的 PATH 中,这样你就可以在任何目录下使用 pixi 命令了。为了验证是否安装成功,可以打开一个新的终端窗口并运行:

pixi --version

初始化你的项目

想在一个新项目或现有项目里开始使用 Pixi 非常简单。只需进入项目根目录,然后运行 pixi init 命令。这个命令会创建一个 pixi.toml 文件,它就像是项目的“说明书”,里面记录了项目的所有依赖和配置信息。

mkdir my-pixi-project
cd my-pixi-project
pixi init

新生成的 pixi.toml 文件看起来是这样的:

[project]
name = "my-pixi-project"
version = "0.1.0"
description = "在这里写下你的项目描述"
authors = ["你的名字 <你的邮箱@example.com>"]
channels = ["conda-forge"]
platforms = ["linux-64", "osx-64", "win-64"]
 
[tasks]
 
[dependencies]

管理环境与依赖

添加软件包

使用 pixi add 命令可以向你的项目环境中添加软件包。比如,我们来添加 pythonnumpy

pixi add python numpy

Pixi 会自动处理好依赖关系,把它们加到 pixi.toml 文件里,并创建一个 pixi.lock 文件来锁定所有依赖的精确版本,这样就能保证环境的完全可复现。

现在你的 pixi.toml 文件会自动更新:

[dependencies]
python = ">=3.12.2,<3.13"
numpy = ">=1.26.4,<2"

激活环境

要进入并激活项目的环境,使用 pixi shell 命令。

pixi shell

你会发现终端的提示符变了,这说明你已经成功进入了 Pixi 为你创建的隔离环境。

运行命令

如果你只是想在项目环境中执行单条命令,而不想激活整个终端,可以使用 pixi run。比如,运行一小段 Python 代码:

pixi run python -c 'import numpy; print(numpy.__version__)'

这个功能在持续集成/持续部署 (CI/CD) 或其他自动化流程中特别方便。

定义和运行任务

Pixi 允许你在 pixi.toml 文件里定义一些自定义的任务,方便日常操作。

你可以用 pixi task add 命令来添加一个新任务。比如,我们创建一个任务来运行一个 Python 脚本:

pixi task add start "python main.py"

这会在你的 pixi.toml 文件里添加如下内容:

[tasks]
start = "python main.py"

之后,你就可以用 pixi run start 来方便地运行这个任务了:

pixi run start

总结

恭喜!你已经学会了使用 Pixi 管理项目环境的基础知识。现在你可以独立完成初始化项目、添加软件包、激活环境以及运行命令和任务。通过使用 Pixi,你可以确保你的项目拥有一个稳定、可复现的开发环境,让团队协作变得更简单。

如果想了解更多高级功能,别忘了去查阅 Pixi 的官方文档 1