-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Accept macosx_10_9 platform for Big Sur #9138
Comments
I've been using this horrible hack:
in site-packages/pip/_vendor/packaging/tags.py and after installing my environments everything seems to work fine. The solution to this issue may be in changing pip or in building wheels for 11, this depends on the level of compatibility of MacOS 11 wrt 10. This is OT, but do you know why there aren't wheels for 11 yet and how long does the build usually take? |
This is blocked on pypa/packaging#319. |
This comment has been minimized.
This comment has been minimized.
@MarioCatuogno complex builds may fail because of many reasons and usually fail... But this report is about having to build those packages at all instead of using a pre-built wheel. The cause is clear, pip is not seeing a wheel built for MacOS 10.x as valid for MacOS 11. |
Marking the comment as Off-topic since it is. @MarioCatuogno the error you’re seeing is a Numpy issue and needs to be reported there. pip cannot do anything about it. |
@pradyunsg what do you mean by blocked? |
In project management terminology, “blocked” means something (“blocking” issue) needs to be done first before the thing at hand (“blocked” issue) can be addressed. |
@uranusjr Gotcha, so the problem is in packaging, not pip directly? Or will it need to be addressed in both? |
For information, it seems that the macos_10_9 wheels of scikit-learn are binary compatible with a mac running the Intel version of Big Sur. In particular for the Python package shipped as part of the conda-forge distribution, So from scikit-learn's point of view it seems fine for a future version of pip to accept macos_10_9 wheels for Big Sur. But I don't know for sure if binary compatibility is guaranteed more generally or not. |
I believe binary compatibility is guaranteed. Not sure if it’s said explicitly, but pypa/packaging#319 is contributed by Apple employees (using their Apple emails), and the implementation essentially declares macOS 11 to be compatible with 10.x. |
Binary compatibility for Intel Big Sur is guaranteed with earlier macOS versions |
Please take no offense, but I find hard to believe this is taking too long, I mean:
Am I missing something? How is everybody else working around this? |
This has been fixed in pypa/packaging#319 and related PRs in CPython so I guess the fix will be released soon-ish. It "just" needed someone with the time an knowledge to review the pull requests to add support for Big Sur to CPython related repos. Ironically the person who reviewed that last PR in this case works at Microsoft. If Apple paid more full time employees to work as core developers on major open source projects such as CPython such fixes would be faster included when they release a new version of their OS. Pending that, the easy workaround is just to wait for some time before upgrading to a new OS while open source maintainers do the work at their own pace instead. |
Thanks! |
With pip <20.3 (which is expected on macOS, because `python@3.8` only includes pip 20.2.4), installation fails with "No matching distribution found for tensorflow". Underlying cause is the lack of TensorFlow packages tagged as `macosx_11`: tensorflow/tensorflow#45120 pip 20.3+ changes behavior to allow `macosx_10` packages on macOS 11: pypa/pip#9138
Environment
Description
The update to Big Sur changed the major version of MacOS. AFAICS this is not really related to internals but more because of face lift and commercial concerns. But it's forcing pip to build everything from sources (which is not only slow but tends to fail for complex packages like numpy).
I'm using the
--platform
flag as a workaround but it requires to also specify--target
and--only-binary
, which is not really convenient.Expected behavior
Wheels for previous versions are used.
How to Reproduce
pip install numpy
Instead:
pip install --platform macosx_10_9_x86_64 --only-binary=:all: --target=/tmp numpy
Output
This is not really relevant, I'm not concerned with the reasons the build failed (related to blas and lapack) but because the build happens at all.
The text was updated successfully, but these errors were encountered: