-
Notifications
You must be signed in to change notification settings - Fork 19
Python 3.11 wheel for macOS does not work for x86_64 #316
Comments
From your build log, this seems to be using a universal wheel, However, using a file analyzer, I get:
I'm also not aware of any intent to release universal wheels, and there are 2 universal wheels, both for Python 3.11 on https://pypi.org/project/Pillow/9.2.0/. I suspect this is actually an M1 wheel with an incorrect tag. The other "universal" wheel appears to be x86_64:
Does installing this other wheel, |
I'm not sure how easily I can modify my build to test that, but per your analysis it looks pretty clear that the wheels are incorrectly tagged/named. Are you able to remove them and re-generate them with the correct tags? |
I've tried to reproduce using GitHub Actions and the wheel However, AFAIK PyPI doesn't allow removing wheels, and build tags (which have been used here to fix broken builds in the past) have a lower priority than platform tags, so I'm not sure what is the best way to replace these. Perhaps reuploading the x86_64 wheel as FWIW, the wheels were built with Python 3.11b3, and I'm getting some segfaults if I upgrade setuptools, so it might be better to rebuild a new wheel with Python 3.11rc1. Related: python-pillow/Pillow#6367 |
PyPI does allow you to delete individual files from the web interface. |
I've created PR #317 to fix the generated wheels. Here is a wheel that it created -
This doesn't match my experience when I login to PyPI. I suspect we meet some of the exceptions outlined in https://discuss.python.org/t/stop-allowing-deleting-things-from-pypi/17227 The final version of Python 3.11 is due to be released on October 3rd. On October 15th, we are due to release the next version of Pillow with support for that. Is it possible to just wait until then to upload a new wheel? |
I guess you could contact the pypi admins to delete the file. If the other wheels are uploaded, will they take precedence? In any case I have already worked around the problem for my package by skipping running tests for Python 3.11 for now. |
PR #317 is merged, thanks!
That's because you and I only have a "maintainer" role, not the "owner" role that can delete: When I check another PyPI project where I'm an owner, there's options to delete files (or releases): We can ask Alex or Eric to delete files.
It would be good to have working 3.11 wheels ahead of the Python 3.11 final release to help people test and potentially find bugs in Python itself during the RC phase. Should we upload one or both of the new wheels?
And delete one or both of the old ones?
|
Yes. So we don't need to delete original wheels, we can just upload new ones. We've actually done this before, for Pillow 9.0.1. |
Sounds good, let's upload those with 3.11 RC1: #318 |
I've uploaded the two new Python 3.11 wheels to PyPI, one for x86_64 and one for arm64. However, I realise now that my statement about the new wheels taking precedence was based on a false idea. I was imagining that we were uploading wheels with the same names as the old ones. So I guess to resolve this properly, we will need @aclark4life or wiredfool to delete the Pillow-9.2.0-cp311-cp311-macosx_11_0_universal2.whl and Pillow-9.2.0-cp311-cp311-macosx_10_10_universal2.whl files from PyPI. |
@radarhere Done 👍 |
Thanks very much! @jbms this should now be fixed. Did you want to confirm? |
Thanks, yes this is fixed now. |
What did you do?
Attempted to use cibuildwheel to build a package that depends on Pillow.
What are your OS, Python and Pillow versions?
The text was updated successfully, but these errors were encountered: