Direnv
direnv 是一个工具,当你进入包含你在某时接受的 .envrc 文件的目录时,它会自动激活环境。
本教程将演示如何将 direnv 与 Pixi 结合使用。
首先,通过运行以下命令安装 direnv:
然后在你的 Pixi 工作区根目录中创建包含以下内容的 .envrc 文件:
- 这确保每次你的
pixi.lock更改时,direnv都会再次调用 shell-hook。 - 这会在需要时安装环境并激活它。
direnv确保当你离开目录时环境被停用。
$ cd my-project
direnv: error /my-project/.envrc is blocked. Run `direnv allow` to approve its content
$ direnv allow
direnv: loading /my-project/.envrc
✔ Project in /my-project is ready to use!
direnv: export +CONDA_DEFAULT_ENV +CONDA_PREFIX +PIXI_ENVIRONMENT_NAME +PIXI_ENVIRONMENT_PLATFORMS +PIXI_PROJECT_MANIFEST +PIXI_PROJECT_NAME +PIXI_PROJECT_ROOT +PIXI_PROJECT_VERSION +PIXI_PROMPT ~PATH
$ which python
/my-project/.pixi/envs/default/bin/python
$ cd ..
direnv: unloading
$ which python
python not found
虽然 direnv 带有常见 shell 的钩子,但在 IDE 中使用这些 shell 钩子时不应依赖它们。
在这里你可以看到如何为你的编辑器设置 direnv: