-
Notifications
You must be signed in to change notification settings - Fork 210
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
Cannot solve cross platform with a pypi dependency #1130
Comments
The reason it gets python is to solve the I'm not that familiar with wasm so correct me if I'm wrong but you should be able to install wasm package on any platform right? |
Could you not do without, by downloading the wheel(s)? I regularly pip install, and about 99% of it is a wheel. If a wheel is not available, the install usually fails (e.g. on osx arm with a old version of python for which a library maintainer is not publishing wheels anymore but forgot the limit the python version - so often a mistake). To summarize, I think pixi can do pypi installs without using/installing python, which would probably be much faster. If you bail out because you need to build the sdist and then give this error message, that would be much better sane behavior I think.
Not sure what you mean here? |
The initial version of
Let me ask @wolfv offline, I need to get more up to speed with the |
But in the case of wheel only, is it correct to assume you can do without python? So you would only need python installed if there is no compatible wheel available? |
Yes, that is correct. The python interpreter is needed for the |
If you want, we could add the option to constrain to using only wheels for the resolution. Anyone who reads this, feel free to make an issue.
@maartenbreddels I feel a bit hesitant on adding the behavior you described, because I think it's quite dependent on the use-case, and hence the libraries you work with. A lot of python users will encounter sdists almost instantly for any decently sized project they are using. I feel it would be better, to be able to opt-in to the behavior you want, that way you could even create wheel-only environments e.g.
I've also seen examples where people still use old packaging standards, resulting in sdists. Or researchers that are not developers that follow any old python tutorial for publishing. Building no-arch packages with simple |
An opt-in sounds reasonable. Yeah, I thought the pypi json API would provide dependencies by now, but it doesn't. And indeed, for sdist, you can have dependencies depend on the moon phase for all we know. There should be a large database that stores/caches all the dependencies... 👀 Anyway, thanks for the explaination. |
I'm encountering this limitation as well. My use case is that I'm planning to run a Pixi project inside a Linux Docker container but I'd like to be able to be able to run locking in my local development environment, e.g., on macOS. I understand that, because Python packages can in general run arbitrary code in However, my expectation (I may be wrong) is that most of the time, packages are not doing something crazy and pathological and so relaxing this aspect would still lead to correct lockfiles in practice. uv will automatically try to find a Python interpreter when running |
Checks
I have checked that this issue has not already been reported.
I have confirmed this bug exists on the latest version of pixi, using
pixi --version
.Reproducible example
Issue description
I tried to solve an emscripten environment on osx-arm64.
When solving that, pixi tells me to get python installed (curious why).
But after I do that, I get:
(I think that ERROR message is unrelated btw)
Expected behavior
I expect it to solve the environment for me :)
The text was updated successfully, but these errors were encountered: