-
Notifications
You must be signed in to change notification settings - Fork 190
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pixi equivalent of conda constructor #1375
Comments
I think this would be a great enhancement. I've heard more feature requests like this. Simply to improve the deployment question. Please get this upvoted! 👍 |
Yep, this is a very important end state of a Of note, this can probably already be done with the battle-hardened Another intermediate point would be to be able to generate the To improve on the state of the art, an only-works-with-
|
We developed pixi-pack which solves some of these use cases. I personally think that this feature should belong into a different tool (like pixi-pack or if you think it should go in a different direction feel free to open issues there/create a fork) to not make pixi's CLI bloated. Also with pixi-pack's existence I don't feel for the need to reinvent the wheel here. WDYT? With that being said, is this issue still relevant or should we close it? |
Documentation is always welcome @pavelzw :) |
Yeah, Once a release lands with #1873, I'm planning to look more closely at the Not having a One thing I haven't really looked into fully is the An interesting intersection is this example... this downloads a So yeah: I think continuously tested examples that end up in narrative docs will end up being the right call, as the matrix of use cases gets enormous at that end of the stack. For installers, getting to parallel, restartable execution, e.g. |
xref Quantco/pixi-pack#4 |
This issue is still relevant, my use case for constructor is a completely airgapped machine where neither conda nor other tools (pixi-pack) exist. Just copying an environment elsewhere is, imo. not an ideal delivery mechanism since what is required is an end user usable artifact, not recreate a developers machine elsewhere. In my case the installer that constructor produces
I still belive that |
pixi-pack is a statically linked executable, you can just copy it together with |
Just fyi this was an experiment to make a self-executable mamba constructor like thing https://github.com/mamba-org/monstructor I think something similar could work for pixi pack where it embeds itself in front of the compressed data :) |
|
not at the moment, see Quantco/pixi-pack#38
pixi-pack only installs the conda packages, so the npm dependencies will not be included and need to be installed separately in some way. |
Yep. "Just" turning conda packages into widely-respected (un)installer formats recognized by users (and their IT policies) is already a big lift, but "make anything relocatable," is... almost intractable, and indeed the purpose of the conda approach in the first place. Even before |
I added some documentation in #2220 for pixi-pack. |
Problem description
Hello Pixi devs,
Conda constructor
I use Conda constructor for creating installations that can then be used on air gapped machines (no internet).
A very simple overview of how constructor works is as follows
environment.yml
or directly in theconstruct.yml
)These installations can then be used to create an offiline installation on any machine. The installation is a conda installer (customized since it has all the dependencies also packaged as part of the installation) that can then be installed using the same cli used to install miniconda.
Enhancement proposal for
pixi
Suggestion/Enhancement here would be that pixi also support such a similar mechanism. From what i have looked all/most of the necessary plumbing is already there.
A rough idea of how this might work is as follows
pixi construct
creates a.pixi
folder with all the dependencies per environment storedThere is also another tool from conda called conda pack but this doesn't offer the same flexiblity/robustness as conda constructor since conda pack more or less creates an archive out of the existing env to make it portable and doesn't offer any way of customizing. In addition conda pack is not under active development.
Thanks!
The text was updated successfully, but these errors were encountered: