15 个版本 (破坏性更新)
0.15.2 | 2024 年 2 月 29 日 |
---|---|
0.14.0 | 2024 年 2 月 16 日 |
0.10.0 | 2023 年 12 月 8 日 |
0.7.0 | 2023 年 11 月 14 日 |
0.0.0 |
|
55 在 操作系统 中
每月 25 次下载
1.5MB
17K SLoC
包含 (ZIP 文件,11KB) examples/qgis/earthquakes_example.qgz
pixi:简化包管理的工具
概览
pixi
是一个基于 conda 生态系统构建的跨平台、多语言包管理和工作流程工具。它为开发者提供类似于流行的包管理器如 cargo
或 yarn
的卓越体验,但适用于任何语言。
在 prefix.dev 开发,充满爱心的作品。
亮点
- 支持包括 Python、C++ 和 R 在内的多种语言,使用 Conda 包。您可以在 prefix.dev 上找到可用的包。
- 与所有主流操作系统兼容:Linux、Windows、macOS(包括 Apple Silicon)。
- 始终包含最新的 lockfile。
- 提供简洁简单的类似 Cargo 的 命令行界面。
- 允许您按项目或 系统级 安装工具。
- 完全使用 Rust 编写,并在 rattler 库之上构建。
入门
- ⚡ 安装
- ⚙️ 示例
- 📚 文档
- 😍 贡献
- 🔨 使用 Pixi 构建
- 🚀 GitHub Action
状态
该项目目前处于 alpha 阶段。它正在积极开发中,我们计划添加更多功能。文件格式可能会发生变化,您应该期待在向 v1.0 进发过程中出现破坏性变化。
一些即将推出的显著功能包括
- 构建和发布您的项目为 Conda 包。
- 支持 PyPi 包。
- 支持从源 依赖项。
- 改进文档、示例和用户体验。
安装
pixi
可在 macOS、Linux 和 Windows 上安装。提供的脚本将自动下载 pixi
的最新版本,提取它,并将 pixi
二进制文件移动到 ~/.pixi/bin
。如果此目录不存在,脚本将创建它。
macOS 和 Linux
要在 macOS 和 Linux 上安装 Pixi,请打开终端并运行以下命令
curl -fsSL https://pixi.sh/install.sh | bash
# or with brew
brew install pixi
脚本还会更新您的 ~/.bash_profile,以便在您的 PATH 中包含 ~/.pixi/bin,使您可以从任何位置调用 pixi 命令。您可能需要重新启动终端或源您的 shell 以使更改生效。
Windows
要在 Windows 上安装 Pixi,请打开 PowerShell 终端(您可能需要以管理员身份运行它)并运行以下命令
iwr -useb https://pixi.sh/install.ps1 | iex
脚本将在安装成功后通知您并将 ~/.pixi/bin 目录添加到您的 PATH 中,这样您就可以从任何位置运行 pixi 命令。或者使用 winget
winget install prefix-dev.pixi
自动完成
要获取自动完成,请运行
# On unix (MacOS or Linux), pick your shell (use `echo $SHELL` to find the shell you are using.):
echo 'eval "$(pixi completion --shell bash)"' >> ~/.bashrc
echo 'eval "$(pixi completion --shell zsh)"' >> ~/.zshrc
echo 'pixi completion --shell fish | source' >> ~/.config/fish/config.fish
echo 'eval (pixi completion --shell elvish | slurp)' >> ~/.elvish/rc.elv
对于 Windows 的 PowerShell,请运行以下命令,然后重新启动 shell 或源 shell 配置文件
Add-Content -Path $PROFILE -Value '(& pixi completion --shell powershell) | Out-String | Invoke-Expression'
然后重新启动 shell 或源 shell 配置文件。
发行版软件包
Arch Linux
您可以从 extra 存储库 使用 pacman 安装 pixi
pacman -S pixi
Alpine Linux
pixi
在 Alpine Edge 中可用。启用 测试存储库 后,可以通过 apk 安装。
apk add pixi
从源构建/安装
pixi
100% 用 Rust 编写,因此可以使用 cargo 进行安装、构建和测试。要从源构建开始使用 pixi
运行
cargo install --locked pixi
# Or to use the the latest `main` branch
cargo install --locked --git https://github.com/prefix-dev/pixi.git
或者当您想进行更改时使用
cargo build
cargo test
如果您在构建时遇到由于对 rattler
的依赖而出现的问题,请查看其 编译步骤
卸载
要卸载,应删除 pixi 二进制文件。从 $PIXI_DIR
中删除 pixi
,默认为 ~/.pixi/bin/pixi
因此,在 Linux 上是
rm ~/.pixi/bin/pixi
而在 Windows 上
$PIXI_BIN = "$Env:LocalAppData\pixi\bin\pixi"; Remove-Item -Path $PIXI_BIN
运行此命令后,您仍然可以使用通过 pixi
安装的工具。要完全删除这些工具,只需删除整个 ~/.pixi
目录,并从您的路径中删除该目录。
用法
cli 的外观如下
➜ pixi
A package management and workflow tool
Usage: pixi [OPTIONS] <COMMAND>
Commands:
completion Generates a completion script for a shell
init Creates a new project
add Adds a dependency to the project
run Runs task in project
shell Start a shell in the pixi environment of the project
global Global is the main entry point for the part of pixi that executes on the global(system) level
auth Login to prefix.dev or anaconda.org servers to access private channels
install Install all dependencies
task Command management in project
info Information about the system and project
upload Upload a package to a prefix.dev channel
search Search a package, output will list the latest version of package
project
help Print this message or the help of the given subcommand(s)
Options:
-v, --verbose... More output per occurrence
-q, --quiet... Less output per occurrence
--color <COLOR> Whether the log needs to be colored [default: auto] [possible values: always, never, auto]
-h, --help Print help
-V, --version Print version
创建 pixi 项目
初始化新项目并导航到项目目录
pixi init myproject
cd myproject
添加您想使用的依赖项
pixi add cowpy
在其环境中运行已安装的包
pixi run cowpy "Thanks for using pixi"
在环境中激活 shell
pixi shell
cowpy "Thanks for using pixi"
exit
全局安装 conda 包
您还可以将conda包全局安装到它们自己的环境中。这种行为类似于 pipx
或 condax
。
pixi global install cowpy
在GitHub Actions中使用
您可以使用pixi在GitHub Actions中安装依赖项并运行命令。
- uses: prefix-dev/[email protected]
with:
cache: true
- run: pixi run cowpy "Thanks for using pixi"
贡献 😍
我们非常欢迎您为pixi
做出贡献!无论您是想发起一个问题、修复您遇到的问题,还是提出改进建议,每一次贡献都备受赞赏。
如果您刚开始使用我们的项目,或者第一次接触Rust生态系统,我们支持您!我们建议从标记为good first issue
的问题开始。这些精心挑选的任务提供了一个平滑的贡献切入点。这些问题通常更直接,是熟悉项目的绝佳方式。
有疑问或想法,或者只是想聊天?加入我们充满活力的Discord讨论。我们非常活跃,并乐于欢迎您加入我们的社区。 今天加入我们的Discord服务器!
使用pixi构建
要查看使用pixi
构建的内容,请查看社区页面。
依赖项
~47–85MB
~1.5M SLoC