pixi icon indicating copy to clipboard operation
pixi copied to clipboard

pixi environment are recognised as "global" by pip

Open abey79 opened this issue 10 months ago • 1 comments

Checks

  • [X] I have checked that this issue has not already been reported.

  • [X] I have confirmed this bug exists on the latest version of pixi, using pixi --version.

Reproducible example

$ pixi run pip --require-virtualenv freeze
ERROR: Could not find an activated virtualenv (required).

Issue description

With --require-virtualenv flag, pip refuses most operation unless a virtual environment is detected, such as to avoid installing stuff globally by mistake.

This issue happened to me because:

  • I have PIP_REQUIRE_VIRTUALENV=1 set globally.
  • maturin develop calls into pip behind the scenes

Workaround: explicitly set PIP_REQUIRE_VIRTUALENV to zero (which is easy enough for us as the maturin call is actually behind a task).

Expected behavior

Ideally, pip would think it's ok to install stuff in pixi-managed environments (though there might obviously be implications that I ignore).

abey79 avatar Apr 18 '24 14:04 abey79

It is an issue with any conda environment, and not only pixi ones. See for instance https://stackoverflow.com/questions/54263894/how-do-i-allow-pip-inside-anaconda3-venv-when-pip-set-to-require-virtualenv

Using tasks seems like a good way around the issue.

olivier-lacroix avatar Apr 20 '24 04:04 olivier-lacroix

This issue is inherent to conda environments as explained by @olivier-lacroix . Closing this for now as won't fix.

baszalmstra avatar Aug 22 '24 14:08 baszalmstra