Direnv
direnv is a tool which automatically activates an environment as soon as you enter a directory with a .envrc file that you accepted at some point.
This tutorial will demonstrate how to use direnv with Pixi`.
First install direnv by running the following command:
Then create a .envrc file in your Pixi workspace root with the following content:
- This ensures that every time your
pixi.lockchanges,direnvinvokes the shell-hook again. - This installs the environment if needed, and activates it.
direnvensures that the environment is deactivated when you leave the directory.
$ 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
While direnv comes with hooks for the common shells,
these hooks into the shell should not be relied on when using and IDE.
Here you can see how to set up direnv for your favorite editor: