全局清单#
此全局清单包含全局安装的环境列表、它们的依赖项和暴露的二进制文件。 它可以被编辑、同步、检入版本控制系统,并与他人共享。
运行上一部分中的命令会导致以下清单:
version = 1
[envs.rattler-build]
channels = ["conda-forge"]
dependencies = { rattler-build = "*" }
exposed = { rattler-build = "rattler-build" }
[envs.ipython]
channels = ["conda-forge"]
dependencies = { ipython = "*", numpy = "*", matplotlib = "*" }
exposed = { ipython = "ipython", ipython3 = "ipython3" }
[envs.python]
channels = ["conda-forge"]
dependencies = { python = "3.12.*" } # (1)!
exposed = { py3 = "python" } # (2)!
- 依赖项是要安装到环境中的包。你可以指定版本或使用通配符。
- 暴露的二进制文件是将在系统路径中可用的文件。在这种情况下,
python以名称py3暴露。
清单位置#
根据你的操作系统,清单可以在以下位置找到。
运行 pixi info,找到你系统上当前使用的清单。
| 优先级 | 位置 | 注释 |
|---|---|---|
| 4 | $PIXI_HOME/manifests/pixi-global.toml |
PIXI_HOME 中的全局清单。 |
| 3 | $HOME/.pixi/manifests/pixi-global.toml |
用户主目录中的全局清单。 |
| 2 | $XDG_CONFIG_HOME/pixi/manifests/pixi-global.toml |
XDG 兼容配置目录。 |
| 1 | $HOME/.config/pixi/manifests/pixi-global.toml |
配置目录。 |
| 优先级 | 位置 | 注释 |
|---|---|---|
| 3 | $PIXI_HOME/manifests/pixi-global.toml |
PIXI_HOME 中的全局清单。 |
| 2 | $HOME/.pixi/manifests/pixi-global.toml |
用户主目录中的全局清单。 |
| 1 | $HOME/Library/Application Support/pixi/manifests/pixi-global.toml |
配置目录。 |
| 优先级 | 位置 | 注释 |
|---|---|---|
| 3 | $PIXI_HOME\manifests\pixi-global.toml |
PIXI_HOME 中的全局清单。 |
| 2 | %USERPROFILE%\.pixi\manifests\pixi-global.toml |
用户主目录中的全局清单。 |
| 1 | %APPDATA%\pixi\manifests\pixi-global.toml |
配置目录。 |
Note
如果存在多个位置,将使用优先级最高的清单。
Channel#
channels 键描述将用于下载包的 Conda channel。
这些有优先级,所以第一个优先级最高。
如果包在该 channel 中未找到,则使用下一个。
例如,运行:
[envs.snakemake]
channels = ["conda-forge", "bioconda"]
dependencies = { snakemake = "*" }
exposed = { snakemake = "snakemake" }
有关 channel 的更多信息,请参阅这里。
依赖#
依赖是要安装到环境中的 Conda 包。例如,运行:
在清单中创建以下条目: 通常,你只指定你正在安装的工具,但可以根据需要添加更多包。 定义要安装到的环境将允许你一次添加多个依赖。例如,运行: 将在清单中创建以下条目:[envs.my-env]
channels = ["conda-forge"]
dependencies = { git = "*", vim = "*", python = "*" }
# ...
你可以运行以下命令将依赖添加到现有环境:
它们将作为依赖添加到 my-env 环境,但不会自动暴露新包的二进制文件。
你可以运行以下命令移除依赖:
暴露的可执行文件#
你可以指示 pixi global install 以什么名称暴露可执行文件:
清单修改如下:
[envs.bat]
channels = ["https://prefix.dev/conda-forge"]
dependencies = { bat = "*" }
exposed = { bird = "bat" }
这意味着可执行文件 bat 将以名称 bird 暴露。
自动暴露的可执行文件#
如果安装与环境同名的包,它将以相同名称暴露,这是一些额外的自动行为。 即使二进制文件仅通过包的依赖暴露也是如此。 例如,运行:
将在清单中创建以下条目:[envs.ansible]
channels = ["conda-forge"]
dependencies = { ansible = "*" }
exposed = { ansible = "ansible" } # (1)!
ansible二进制文件即使由ansible的依赖ansible-core包安装也会被暴露。
也可以暴露位于嵌套目录中的可执行文件。
例如 dotnet.exe 可执行文件位于 dotnet 文件夹中,
要暴露 dotnet,你必须指定其相对路径:
这将在清单中创建以下条目:
[envs.dotnet]
channels = ["conda-forge"]
dependencies = { dotnet = "*" }
exposed = { dotnet = 'dotnet\dotnet' }
快捷方式#
对于图形用户界面,添加快捷方式特别有用。
这样应用程序会出现在开始菜单中,或者在你想要打开应用程序支持的文件类型时被建议。
如果包支持快捷方式,你这边什么都不需要做。
只需执行 pixi global install 即可完成。
例如,pixi global install mss 将导致以下清单:
[envs.mss]
channels = ["https://prefix.dev/conda-forge"]
dependencies = { mss = "*" }
exposed = { ... }
shortcuts = ["mss"]
注意 shortcuts 条目。
如果存在,pixi 将为 mss 包安装快捷方式。
这意味着应用程序将出现在开始菜单中。
如果你想自己打包一个可以从这中受益的应用程序,可以查看相应的文档。