由于 MacOS 10.14.6 中的运行时错误,Numpy 1.19 无法导入。 Polyfit 健全性测试发出警告,很可能是由于使用了有问题的 Accelerate 后端。 如果您自己编译,请参阅 site.cfg.example 以获取信息。 否则,将此报告给提供 NumPy 的供应商。
import numpy as np
RuntimeError:Polyfit 健全性测试发出警告,很可能是由于使用了有问题的 Accelerate 后端。 如果您自己编译,请参阅 site.cfg.example 以获取信息。 否则,将此报告给提供 NumPy 的供应商。
RankWarning:Polyfit 可能条件不佳
回溯(最近一次调用最后一次):
文件“/Users/billyzhaoyh/anaconda/envs/simulation/lib/python3.7/runpy.py”,第 183 行,在 _run_module_as_main
mod_name,mod_spec,代码 = _get_module_details(mod_name,_Error)
文件“/Users/billyzhaoyh/anaconda/envs/simulation/lib/python3.7/runpy.py”,第 109 行,在 _get_module_details 中
__import__(pkg_name)
文件“/Users/billyzhaoyh/Desktop/Simulation/reina-model/calc/__init__.py”,第1行,在
从 .utils 导入 calcfunc
文件“/Users/billyzhaoyh/Desktop/Simulation/reina-model/calc/utils.py”,第 9 行,在
从 utils.quilt 导入 load_datasets
文件“/Users/billyzhaoyh/Desktop/Simulation/reina-model/utils/quilt.py”,第4行,在
进口被子
文件“/Users/billyzhaoyh/anaconda/envs/simulation/lib/python3.7/site-packages/quilt/__init__.py”,第87行,在
从 .tools.command 导入(
文件“/Users/billyzhaoyh/anaconda/envs/simulation/lib/python3.7/site-packages/quilt/tools/command.py”,第24行,在
将 numpy 导入为 np
文件“/Users/billyzhaoyh/Desktop/Simulation/reina-model/src/numpy/numpy/__init__.py”,第286行,在
引发运行时错误(味精)
RuntimeError:Polyfit 健全性测试发出警告,很可能是由于使用了有问题的 Accelerate 后端。 如果您自己编译,请参阅 site.cfg.example 以获取信息。 否则,将此报告给提供 NumPy 的供应商。
RankWarning:Polyfit 可能条件不佳
蟒蛇 3.7.6
Numpy -e git+ https://github.com/numpy/numpy.git@078ac01a85c4db46e7f148829c2e0d0e0f30c36f#egg =numpy
这是设计使然。 您是否阅读了错误消息? 不清楚吗?
那么如何通过更新 Accelerate 后端来修复此错误? 我进行了搜索,但认为我无法为我的 MacOS 更新它。
@billlyzhaoyh在 MacOS 上构建时请求使用 OpenBLAS。 使用根 repo 目录中的 site.cfg 来构建。
关闭。 我们强烈建议不要使用加速。
关闭。 我们强烈建议不要使用加速。
当然,我们如何不使用它? 在我的 macOS 中运行简单的import numpy
时,我遇到了同样的错误
如果您正在构建自己的 NumPy,请获取 OpenBlas。 您可以使用python3 tools/openblas_support.py
下载用于构建官方轮子的那个。 如果您使用的是提供商的 NumPy,请询问他们为什么使用 Accelerate。
如果您正在构建自己的 NumPy,请获取 OpenBlas。 您可以使用
python3 tools/openblas_support.py
下载用于构建官方轮子的那个。 如果您使用的是提供商的 NumPy,请询问他们为什么使用 Accelerate。
我绝对不是自己建造的。 我正在使用 macOS,并运行pip3 install -U numpy
,所以我不确定您所说的“提供者”是什么意思。
Pip 可以在背后从源代码构建。 如果安装时间超过几秒钟,则可能正在编译。 要强制 pip 只使用二进制轮而不编译,请使用
pip3 install --upgrade --only-binary :all: <package>
您可以尝试卸载 numpy 并使用--only-binary :all:
参数进行安装吗?
这为我解决了问题。 (我用pip3
替换了pip
... 今天的 numpy 版本将是 1.19.1)
https://gist.github.com/yatsu/47bdde35e8abbe7d14bbe730342aa9e0#file -numpy-openblas-macos-pip-sh
编辑:如果要点被删除,请粘贴完整的解决方案:)
# Setup HomeBrew if not already installed: https://brew.sh/
brew install openblas
mkdir /tmp/numpy_local
cd /tmp/numpy_local
pip3 download --no-binary :all: --no-deps numpy
unzip numpy-*.zip # (assuming there's only one version in this folder)
cd numpy-1.19.1 # the version may be a later version than this
cat > site.cfg <<EOF
[openblas]
libraries = openblas
library_dirs = $(brew --prefix openblas)/lib
include_dirs = $(brew --prefix openblas)/include
runtime_library_dirs = $(brew --prefix openblas)/lib
EOF
pip3 install .
# cleanup
cd /tmp
rm -rf numpy_local
一个稍微简单的解决方案:
$ rm -v ~/Library/Caches/pip/wheels/<em i="7">/</em>/<em i="8">/</em>/<em i="9">numpy</em> # clear the pip wheel cache of any built numpy wheels
根据https://twitter.com/pradyunsg/status/1317081239526936576?s=20现在可以使用内置的pip
命令来完成:
$ pip cache remove numpy
$ brew install openblas # make sure OpenBLAS is installed
$ # activate your pypy3 virtualenv
$ OPENBLAS="$(brew --prefix openblas)" pip install numpy # let numpy's setup.py know where OpenBLAS is installed
这具有额外的好处,即不需要重新构建轮子,并且 pypy3 上的任何未来pip install numpy
都将起作用。
撇开变通方法不谈,为什么默认构建行为会产生甚至不能import
的损坏的轮子? 无论哪种方式,构建这样一个损坏的工件似乎都是“设计使然”的错误; 构建结束时的自检如果发现自己处于这种状态就会中止,这将是一个受欢迎的补充。 (特别是如果它可以提供有用的错误消息,例如“try brew install openblas
”或类似的信息。)
在构建之后尝试导入听起来是个好主意。
如果找不到 openblas,为什么不干脆拒绝在 macOS 上构建?
除了 OpenBLAS 之外,还有各种有效的 blas 后端。 唯一无效的是加速。 不幸的是,macOS 没有提供一种方式来告诉我们他们正在提供 Accelerate,我们只能在运行时通过触发已知的错误计算来检测它。 如果您能弄清楚如何更早地检测 Accelerate,那就太好了。 到目前为止,我们最好的方法是检测符号链接,但这非常脆弱。
如果任何 python-poetry 用户遇到此线程,我只想补充一点,如果您将最后一行替换为OPENBLAS="$(brew --prefix openblas)" poetry add numpy
, @glyph的解决方案也同样有效
我已经尝试过以前版本的 numpy,它对我有用
pip3 安装 numpy==1.18.0
希望这有帮助
卸载并安装 1.18.0——对我有用! 对以上内容点赞^^
我在这里报告使用 openblas 的建议不起作用。 这会崩溃:
OPENBLAS="$(brew --prefix openblas)" pip install numpy
python -c 'import numpy'
# => RuntimeError: Polyfit sanity test emitted a warning, most likely due to using a buggy Accelerate backend. If you compiled yourself, see site.cfg.example for information. Otherwise report this to the vendor that provided NumPy.
虽然这没有任何问题:
pip install numpy==1.18.0
python -c 'import numpy'
@fny检查输出以查看 pip 是否使用缓存轮。 在这种情况下,您可能需要清除缓存。
@fny有关更新说明,请参阅https://github.com/numpy/numpy/issues/15947#issuecomment -686159427
任何人都可以提供一个链接,让人们可以阅读为什么 Accelerate 是一种不应该使用的糟糕 BLAS 实现? 我尝试在谷歌上搜索“为什么苹果加速不好”,但一无所获。
我不知道全面的故障在哪里,但 Accelerate 存在线程问题,一些错误的结果,并暴露了一个过时的 LAPACK 版本。
作为参考,此解决方案失败。 为什么这不起作用? 为什么这一切都是必要的?
@orome至于“为什么”问苹果。 他们是你从他们那里购买系统的人,并且正在运送有缺陷的软件,而 NumPy 的主要志愿者团队必须解决这些问题。 任何愤怒都应该针对他们,而不是针对我们。
@orome至于“为什么”问苹果......任何愤怒都应该针对他们,而不是针对我们。
这绝对是(再次)导演的地方!
这为我解决了问题。 (我用
pip3
替换了pip
... 今天的 numpy 版本将是 1.19.1)
https://gist.github.com/yatsu/47bdde35e8abbe7d14bbe730342aa9e0#file -numpy-openblas-macos-pip-sh编辑:如果要点被删除,请粘贴完整的解决方案:)
# Setup HomeBrew if not already installed: https://brew.sh/ brew install openblas mkdir /tmp/numpy_local cd /tmp/numpy_local pip3 download --no-binary :all: --no-deps numpy unzip numpy-*.zip # (assuming there's only one version in this folder) cd numpy-1.19.1 # the version may be a later version than this cat > site.cfg <<EOF [openblas] libraries = openblas library_dirs = $(brew --prefix openblas)/lib include_dirs = $(brew --prefix openblas)/include runtime_library_dirs = $(brew --prefix openblas)/lib EOF pip3 install . # cleanup cd /tmp rm -rf numpy_local
这在某种程度上对我不起作用。 我从源代码编译了 OpenBLAS 并将其安装在/opt/OpenBLAS
,并用/opt/OpenBLAS
替换了每次出现的$(brew --prefix openblas)
/opt/OpenBLAS
。 我的 Python 3 安装来自 Xcode 命令行工具,所以我使用pip3 install --user .
而不是pip3 install .
。 除此之外,我完全遵循了脚本。 但是,在我运行python3 -c "import numpy"
,错误消息与以前完全一样:
RuntimeError:Polyfit 健全性测试发出警告,很可能是由于使用了有问题的 Accelerate 后端。 如果您自己编译,请参阅 site.cfg.example 以获取信息。 否则,将此报告给提供 NumPy 的供应商。
RankWarning:Polyfit 可能条件不佳
任何想法为什么会发生这种情况?
pip install pandas
pip3 install pandas
pip3 install pandas --no-build-isolation --no-cache-dir
sudo pip3 install pandas --no-cache-dir
我已经通过 Homebrew ( brew install python3
) 完成了 macOS Big Sur 的全新安装和 Python3.9 的全新安装。 之后,我使用brew install pip
命令安装了 pip3 并且我想安装 Pandas,但我总是收到以下错误。 我已经尝试使用上面列出的所有命令在 macOS Big Sur 和 Python3 上安装 Pandas ...
任何人都可以帮忙吗? 这些是实际安装的唯一软件包:
套餐版本
点 20.2.4
设置工具 50.3.2
车轮 0.35.1
pip install pandas
获取构建轮子的要求...错误
错误:命令出错,退出状态为 1:
命令:/ usr /本地的/ opt / [email protected]/bin/python3.9 /usr/local/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel的/ var /文件夹/ ZV / 0q58rjv549bd4qjdqlrwlvl40000gn/T/tmpzr3sthd6
cwd:/private/var/folders/zv/0q58rjv549bd4qjdqlrwlvl40000gn/T/pip-install-pvlaq6iq/pandas
完整输出(23 行):
init_dgelsd 初始化失败
回溯(最近一次调用最后一次):
文件“/usr/local/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py”,第280行,在
主要的()
文件“/usr/local/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py”,第263行,在main中
json_out['return_val'] = hook(**hook_input['kwargs'])
文件“/usr/local/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py”,第 114 行,在 get_requires_for_build_wheel
返回钩子(config_settings)
文件“/private/var/folders/zv/0q58rjv549bd4qjdqlrwlvl40000gn/T/pip-build-env-ly4c8n5_/overlay/lib/python3.9/site-packages/setuptools/build_meta.py”,第149行,在get_build_wheel中
返回 self._get_build_requires(
文件“/private/var/folders/zv/0q58rjv549bd4qjdqlrwlvl40000gn/T/pip-build-env-ly4c8n5_/overlay/lib/python3.9/site-packages/setuptools/build_meta.py”,第130行,在require_build中
self.run_setup()
文件“/private/var/folders/zv/0q58rjv549bd4qjdqlrwlvl40000gn/T/pip-build-env-ly4c8n5_/overlay/lib/python3.9/site-packages/setuptools/build_meta.py”,第253行,在run_setup
超级(_BuildMetaLegacyBackend,
文件“/private/var/folders/zv/0q58rjv549bd4qjdqlrwlvl40000gn/T/pip-build-env-ly4c8n5_/overlay/lib/python3.9/site-packages/setuptools/build_meta.py”,第145行,在run_setup
exec(compile(code, __file__, 'exec'), locals())
文件“setup.py”,第 488 行,在
将 numpy 导入为 np
文件“/private/var/folders/zv/0q58rjv549bd4qjdqlrwlvl40000gn/T/pip-build-env-ly4c8n5_/overlay/lib/python3.9/site-packages/numpy/__init__.py”,第286行,在
引发运行时错误(味精)
RuntimeError:Polyfit 健全性测试发出警告,很可能是由于使用了有问题的 Accelerate 后端。 如果您自己编译,请参阅 site.cfg.example 以获取信息。 否则,将此报告给提供 NumPy 的供应商。
RankWarning:Polyfit 可能条件不佳
错误:命令出错了,退出状态1:在/ usr /本地的/ opt / [email protected]/bin/python3.9 /usr/local/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /var/folders/zv/0q58rjv549bd4qjdqlrwlvl40000gn/T/tmpzr3sthd6 检查日志以获取完整的命令输出。
在这个问题Pandas#37880 中,他们说这是最新版本的 macOS 的一个
提前致谢!
同样的问题,同样的错误
这在 MacOS 11.0.1 Big Sur 上对我有用, Python 3.8.2
:
pip3 install --force-reinstall numpy\<1.19
pip3 install --upgrade wheel
brew install libjpeg # optional
pip3 install pillow # optional
pip3 install matplotlib
....
Successfully installed matplotlib-3.3.3
此问题已关闭。 如果您将 MacOS 11 与从 HomeBrew 安装的 python 一起使用,则从 2020 年 11 月起,您应该使用brew install NumPy
而不是pip install numpy
。 请不要在这里发表评论,如果仔细阅读 gh-17784 不能帮助您弄清楚发生了什么,请打开一个新问题。
最有用的评论
一个稍微简单的解决方案:
$ rm -v ~/Library/Caches/pip/wheels/<em i="7">/</em>/<em i="8">/</em>/<em i="9">numpy</em> # clear the pip wheel cache of any built numpy wheels
根据https://twitter.com/pradyunsg/status/1317081239526936576?s=20现在可以使用内置的
pip
命令来完成:这具有额外的好处,即不需要重新构建轮子,并且 pypy3 上的任何未来
pip install numpy
都将起作用。