-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Add CPython 3.10 wheels #20819
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
Add CPython 3.10 wheels #20819
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for opening your first PR into Matplotlib!
If you have not heard from us in a while, please feel free to ping @matplotlib/developers
or anyone who has commented on the PR. Most of our reviewers are volunteers and sometimes things fall through the cracks.
You can also join us on gitter for real-time discussion.
For details on testing, writing docs, and our review process, please see the developer guide
We strive to be a welcoming and open project. Please follow our Code of Conduct.
.github/workflows/cibuildwheel.yml
Outdated
CIBW_MANYLINUX_X86_64_IMAGE: manylinux2010 | ||
CIBW_MANYLINUX_I686_IMAGE: manylinux2010 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess there's no point to use manylinux1 for Python 3.10 now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, Python 3.10 does not support manylinux1 and it was failing with it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's actually no point to use manylinux1 for 3.9 either - the last reason for manylinux1 was the weird hack of attaching pip 9 to python3.8-dev
on Ubuntu 18.04. NumPy does not ship manylinux1 wheels for 3.9 anymore.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The 3.10 wheels for numpy are manylinux2014. I suppose here we should do the same?
Sorry for the draft thrashing, I was optomistic that the numpy issue being closed meant they had uploaded wheels already. |
@tacaswell numpy 1.21.2 was released and wheels are available. My PR works for Linux and Windows wheels, but I am getting an error on macOS build. It seems to me like an error in Numpy, WDYT? https://github.com/hrnciar/matplotlib/runs/3338097720 |
Only 64-bit linux (Intel and ARM) wheels are included. There are no Windows or macOS wheels. NumPy on macOS requires special setup because it can't use the buggy and deprecated built-in Accelerate framework. |
Not quite true anymore, Accelerate was re-enabled in |
I think this will need a rebase. But while this is likely to pass a build, it does not mean that tests are passing, due to problems in our dependencies, see #20864 (comment) |
85b677b
to
2776e4f
Compare
Put on the 3.5.0 milestone so we get auto backporting when this is merged. |
If we skip macOS, we can get wheels on Linux and Windows. However, as noted above, NumPy only builds manylinux2014 wheels for 3.10. This means that our build somewhat needlessly rebuilds NumPy, and we should probably switch that to build manylinux2014 only. |
2776e4f
to
47515b3
Compare
I skipped macOS and bumped 3.10 wheels to manylinux2014: https://github.com/QuLogic/matplotlib/runs/3489831873 There don't appear to be 32-bit wheels for NumPy, so those still get rebuilt, so not sure if that saved anything. |
Let's skip 32bit wheels as well? They can always be added later. |
I mean, they build, just a bit slower; no need to skip them. |
@QuLogic if you think this is ready to go please self-merge. |
…819-on-v3.5.x Backport PR #20819 on branch v3.5.x (Add CPython 3.10 wheels)
PR Summary
This PR modifies
cibuildwheel.yml
to create wheels for Python 3.10. I propose this as a draft because it is currently blocked on numpy's wheel (numpy/numpy#19630).PR Checklist
pytest
passes).flake8
on changed files to check).flake8-docstrings
and runflake8 --docstring-convention=all
).doc/users/next_whats_new/
(follow instructions in README.rst there).doc/api/next_api_changes/
(follow instructions in README.rst there).