python - 在 MacOS Big Sur 中强制使用 10.x 轮子
问题描述
我最近将我的 MacOS 升级到了 Big Sur。当我尝试使用 pip 安装 Python 包时,找不到轮子,并且所有内容都被迫从源代码构建,导致安装速度非常慢,最糟糕的是,由于构建环境的限制,会出现许多安装错误。检查例如https://pypi.org/simple/numpy/。鉴于我使用的是 Python 3.8,最接近的可用轮子是numpy-1.19.4-cp38-cp38-macosx_10_9_x86_64.whl
. 我想用这些轮子强制 pipmacosx_10_9
看看会发生什么。你知道有什么方法可以实现吗?
解决方案
我正在用一种强制平台的解决方法来回答自己,例如对于 numpy:
pip install --platform macosx_10_9_x86_64 --only-binary=:all: --target=/usr/local/lib/python3.8/site-packages numpy
遗憾的--target
是,尽管有计划取消此要求(https://github.com/pypa/pip/issues/5453),但该选项是必要的。
我已经要求在https://github.com/pypa/pip/issues/9138pip
中将 macosx_10_9 视为对 Big Sur 有效,但我猜这个提议被拒绝的可能性很高。
我不知道为新平台制造新车轮需要多长时间,但我认为在此期间解决方法已经足够好了。
第二个更脏但更方便的技巧是覆盖version_str
:
version_str, _, cpu_arch = platform.mac_ver() # type: ignore
version_str = "10.15.1"
在site-packages/pip/_vendor/packaging/tags.py
推荐阅读
- javascript - ReactJS 秒表,如何处理本地存储数据
- r - 我需要帮助从数据框中删除空行和带有空格的行
- python - 用beautifulsoup4 缺失单元格进行表格刮擦
- java - Java中是否有任何内置函数可以从提取的数据中删除不需要的数据
- java - 使用 Google 地图 api 的演示 android 应用程序崩溃
- c# - 如何从 xml 文件填充 WinForms TreeView,而不管子孙的数量
- matlab - 如何在matlab中创建大量的高斯通道?
- c# - WorklistQuery (C-FIND) 返回 C-Find 响应 [2]: Optional Keys Not Supported
- asp.net-core - 在部署中使用 Google oauth
- typescript - 如何在多个(打字稿)文件中使用 GraphQL 片段