You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The --expose feature in the new pixi global implementation is very helpful. Specifically, it's really useful to be able to install multiple Python interpreters side-by-side: #833.
However, I'd like to be able to do the same thing in a normal environment. I'm not exactly sure what the syntax would be yet, but I could imagine having multiple features with different versions of the same package, then one environment combining them. Maybe each feature would define the aliases to expose certain packages under, or you could provide a mapping in the environment definition.
I'm aware this is really an ask about support for installing and solving for multiple versions of the same package in one environment. Given that the --expose feature exists now though for global environments, maybe that can motivate generalizing it.
Let me give a very specific use case of why I'm wanting this:
I'm working on a large codebase that currently uses Poetry, with services that require different versions of Python. Currently Python (and other things) are installed with brew/pyenv/apt/etc; I'd like to switch to using pixi to manage the system-level dependencies. Because Poetry just expects python3.10, python3.11, etc. to be on the $PATH, I need multiple versions of Python installed side-by-side for it to find. I can make separate pixi envs for each version, and rig up a script to parse the pyproject.toml and activate the right env prior to running Poetry, but it's very brittle. For now, I've actually switched to devbox because it allows me to install [email protected], [email protected] in the same environment, but I'd prefer to use pixi for this.
The text was updated successfully, but these errors were encountered:
Problem description
The
--expose
feature in the newpixi global
implementation is very helpful. Specifically, it's really useful to be able to install multiple Python interpreters side-by-side: #833.However, I'd like to be able to do the same thing in a normal environment. I'm not exactly sure what the syntax would be yet, but I could imagine having multiple
feature
s with different versions of the same package, then oneenvironment
combining them. Maybe each feature would define the aliases to expose certain packages under, or you could provide a mapping in the environment definition.I'm aware this is really an ask about support for installing and solving for multiple versions of the same package in one environment. Given that the
--expose
feature exists now though for global environments, maybe that can motivate generalizing it.Let me give a very specific use case of why I'm wanting this:
I'm working on a large codebase that currently uses Poetry, with services that require different versions of Python. Currently Python (and other things) are installed with brew/pyenv/apt/etc; I'd like to switch to using pixi to manage the system-level dependencies. Because Poetry just expects
python3.10
,python3.11
, etc. to be on the$PATH
, I need multiple versions of Python installed side-by-side for it to find. I can make separate pixi envs for each version, and rig up a script to parse thepyproject.toml
and activate the right env prior to running Poetry, but it's very brittle. For now, I've actually switched to devbox because it allows me to install[email protected]
,[email protected]
in the same environment, but I'd prefer to use pixi for this.The text was updated successfully, but these errors were encountered: