Skip to content
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

pip compile equivalent / trigger solve #1131

Open
maartenbreddels opened this issue Apr 6, 2024 · 4 comments
Open

pip compile equivalent / trigger solve #1131

maartenbreddels opened this issue Apr 6, 2024 · 4 comments
Labels
needs-design Needs a design so it can be implemented 🐍 pypi Issue related to PyPI dependencies ✨ enhancement Feature request

Comments

@maartenbreddels
Copy link

Problem description

I'd like to use pixi to give me just the lock file, not install packages, similar to how I can use pip-compile or uv pip compile.

However, pixi seems to generate the lock file only after a pixi add command. However, if I change the manifest file (e.g. generate), I cannot do a pixi compile/solve/lock or pixi install --dry-run to obtain a lockfile.

Maybe I misunderstood how pixi works, but I expect 3 phases:

  • add
  • solve
  • install

pixi seems to run solve and install by default, which is great, and I can skip the install using --no-install, which is also great.

However, I cannot trigger the solve phase independently.

@maartenbreddels maartenbreddels added the ✨ enhancement Feature request label Apr 6, 2024
@ruben-arts
Copy link
Contributor

Yeah this is a more often requested feature. I though I would be able to link you to that issue but I guess it is lost in conversations.

@ruben-arts ruben-arts added the needs-design Needs a design so it can be implemented label Apr 6, 2024
@olivier-lacroix
Copy link
Contributor

Having a pixi lock or something similar would be good indeed

@ruben-arts
Copy link
Contributor

For documentation purposes, there is an requirement for the pypi solve to have a python interpreter available which we install in the conda ([dependencies] table) environment. Thus installing atleast part of the environment is required for the full locking of a pixi project.

For example this would still need to install python to only lock:

[project]
name = "test"
channels = ["conda-forge"]
platforms = ["linux-64"]

[dependencies]
python = ">=3.10"

[pypi-dependencies]
solara = "==1.30.1"

Until there is a solution to this issue #1130, specifically the wheel only install.

@jayqi
Copy link

jayqi commented Jul 31, 2024

I have a similar use case, and my workaround is running pixi list or pixi tree. These are otherwise diagnostic commands that function like no-ops but still trigger a lockfile check.

The main thing that can be confusing from a UX perspective is that if you haven't installed anything and no lockfile update is needed, then both of those commands succeed without printing anything to console.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-design Needs a design so it can be implemented 🐍 pypi Issue related to PyPI dependencies ✨ enhancement Feature request
Projects
None yet
Development

No branches or pull requests

4 participants