-
Notifications
You must be signed in to change notification settings - Fork 154
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
Fails to build wheel for Python 3.10 #354
Comments
I think this should be fixed by gh-346 which changes wheel to use packaging underneath. Could you check what happens if you `python -m pip install git+https://github.com/pypa/wheel@master which should install a newer wheel then try to build your package's wheel? |
The assertion error is introduced by #346. Prior to the patch, |
Thanks for the clarification. I think this is coming from |
|
:(. I opened the linked issue in packaging, since it is a CPython problem it will be tricky to fix. |
Kind ping, since Python-3.10.0a1 is out, and it would be awesome to test our code and oss libraries, but a few can't be built😭 |
@dimaqq I think python/cpython#20333 needs to be merged first |
Yeah, doesn't seem worthwhile to fix this from the wheel side. |
A python 3.10 wheel would produce a wheel with the platform tag as `cp310`, which would be invalid, as only 3_10 is accepted by the wheel package. See: pypa/packaging#308 pypa/wheel#354 python/cpython#20333
This does not yet work because of pypa/wheel#354
Why does pip use a text decimal version, rather the tuple of numbers from wheel/src/wheel/vendored/packaging/tags.py Line 815 in 64550e1
|
So avoid the |
Since both pip and wheel vendor in versions of packaging, they might be able to deal with an ABI-breaking change. |
pypa/packaging#355 has now been merged, and is included in included in the 20.8 release. I think that should fix this issue. It will just need a new version of wheel with the latest packaging vendored. |
Do we know when this is due out? |
Probably in a day or two, judging by this comment. But these things take time, there are usually last-minute snags. |
I've released v0.36.2 now. |
Working for me now with 3.10 alpha 3 Yey! |
Hello, I might find a regression in the latest releases. Is that a problem in the wheel or somewhere else or is it just me doing something wrong?
|
Can you post the “very long output” part? |
This works for Windows 10, prebuilt binaries, wheel totally working on alpha 5. https://github.com/fochoao/cpython |
The scientific Python stack is notorious for their home grown packaging tools, so this might be a problem with an outdated, vendored wheel. |
Seems like they’re choosing the upper version cap to make sure the build environment is predictable. I think they’d be very willing to update the declaration if you raise the issue to them. |
Thank you all, I'm gonna propose a fix there! |
Check out my cpython build, I got wheel fully running in https://github.com/fochoao/cpython however all is compiled mostly for Windows 10. CPython 3.10.0 alpha 7. |
@fochoao Let me note that (at least for x86 and x86_64), official release binaries are available. This has nothing to do with building wheels of Python packages (which this issue is about), however. |
Try https://github.com/python/cpython/ for the real deal. Hope that helps. |
Encountered while looking into pypa/pip#8312.
It seems like
bdist_wheel
is using different tag schemes to build and check the tags. The assertion usespackaging.tags
, which correctly tag Python 3.10 ascp3_10
(see pypa/packaging#240), but the build part incorrectly tries to usecp310
, causing the assertion error.Side note: The sdist has a packaging issue.
--no-build-isolation
is needed since otherwise the build fails withModuleNotFoundError: No module named 'packaging'
.The text was updated successfully, but these errors were encountered: