-
Notifications
You must be signed in to change notification settings - Fork 939
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
Unknown operation system: mingw_x86_64_ucrt #3573
Comments
If you want to test on gha, it’s pretty easy: https://github.com/scikit-build/scikit-build-core/blob/86f40d949741d8e6ce4d9f55264a6d05224408dd/.github/workflows/ci.yml#L251 |
Thanks Henry! |
We should support |
Hm in CI this fails with
Which is a failure at uv/crates/uv-interpreter/src/interpreter.rs Line 455 in 55aedda
python query module that we inject into the system path.
Will need some further investigation... cc @konstin |
Was this error from installing uv from an official msys2 package manager build? e.g. https://packages.msys2.org/package/mingw-w64-ucrt-x86_64-uv?repo=ucrt64 Worth asking to confirm, what environment are you using msys with? What's the output of |
Yes, using the msys2 package, I think I got the same python path related error as zanieb above. Sorry for not mentioning that. Using the UCRT64 environment:
Since I first noticed the problem in an automated build that runs outside the UCRT64 environment (but with ucrt64/bin on PATH, for the toolchain and python interpeter), I tried some more things. It seems like the absence of the
|
For me it mainly complains that the strings are not escaped, even though the strings on the rust side use all
|
The msys2 python i've installed wants unix paths instead of windows paths. I had to patch in the following: let import_path = "/".to_string()
+ &tempdir
.path()
// Remove `\\?\` UNC prefix
.simplified_display()
.to_string()
// Remove the colon after the drive letter
.replacen(":", "", 1)
.replace("\\", "/");
let script = format!(
r#"import sys; sys.path = ["{}"] + sys.path; from python.get_interpreter_info import main; main()"#,
import_path.escape_for_python()
); to get
To support this, we need to figure out a way to determine if a python is gnu or msvc before probing the interpreter. Could someone getting a |
Had a quick look, and three things:
|
Trying to use uv 0.1.43 on Windows from MSYS2 / with a mingw64 GNU ABI python results in the following error:
The immediate error comes from
uv-interpreter/python/get_interpreter_info.py
'sget_operating_system_and_architecture()
not recognizing themingw_x86_64_ucrt
value returned bysysconfig.get_platform()
.Also, since mingw python's virtual environments use the linux style paths (
bin
, notScripts
like MSVC ABI python), just recognizing mingw platforms as windows probably won't be enough to get uv working there.The text was updated successfully, but these errors were encountered: