-
Notifications
You must be signed in to change notification settings - Fork 1
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
Python 3.13 standard and free-threaded versions cannot be available at the same time on Windows machines #5
Comments
Please let me know if there is any additional information you need. I might be wrong in some of my assumptions - maybe the error is not in this repo and somewhere else... but, following @Julian's recommendation, we thought it was worth raising it here. |
I don't think I realized this when I was working on this for NumPy because NumPy sets up each python individually in its own CI job. I think this might just be how we have to make things work on Windows? Since if you do simultaneously install both, they share a site-packages folder, which seems bad as well: python/cpython#127294 (comment) We can also look at installing free-threaded python using the nuget installers. ping @FFY00 maybe you have some insight into whether there's a better way for this action to handle the windows free-threaded packaging situation |
I think installing via nuget should probably be the way to go, if possible. As documented in the linked issue, the regular Windows installers introduce some issues, and limitations. |
there are also discrepancies between win32 and win_amd64 : when i setup-python 3.13t before 3.13, win32 is OK but win_amd64 3.13t still overwrites path for 3.13: PyO3/maturin-action#313 |
FYI right now we're suggesting to not install multiple Pythons simultaneously due to these Windows issues. It also might be worth looking at setup-uv instead of setup-python. I am planning to do that for both the NumPy and PyO3 CI. Sorry to not promise to work on fixing this but given that github has indicated they will eventually be adding support for free-threaded Python to the "official" setup-python, we don't think it makes sense to spend a bunch of time on Windows-specific issues in a CI component we don't own. Thank you for commenting though because we should add a note to the readme of this repo about this issue and this is a good reminder to do so. |
Description:
Originally raised in crate-py/rpds#110
It looks like whenever you request installing Python 3.13 on standard and free-threaded mode at the same time, on Windows runners... something wrong is going on. From what I've experienced, only the last of the two requested Python 3.13 installations remains available for the workflow. It seems like there might be some conflicts in the installation and they can not coexist currently. It would be great if we could have access to both installations freely.
Action version:
v5
Platform:
Runner type:
Tools version:
3.13 (standard and free-threaded)
Repro steps:
I had to submit this PR (crate-py/rpds#111) to solve the originally posted issue. One can see on the logs for the last release (where it was attempted to install both 3.13 and 3.13t) that the installation went through (https://github.com/crate-py/rpds/actions/runs/12125451619/job/33805632758) for both of them (3.13 first, and then 3.13t). However, when using the
PyO3/maturin-action@v1
action and selecting both interpreters (3.13 and 3.13t), the former did not get executed - most probably because it couldn't find it.Expected behavior:
I would expect both interpreters to be available.
Actual behavior:
Only the latter is available of the 2 3.13 versions requested.
The text was updated successfully, but these errors were encountered: