Numpy: numpy1.19を䜿甚するずバギヌがバック゚ンドを加速する

䜜成日 2020幎04月09日  Â·  31コメント  Â·  ゜ヌス: numpy/numpy

MacOS 10.14.6の実行時゚ラヌのため、Numpy1.19をむンポヌトできたせん。 Polyfitの健党性テストで譊告が発生したした。これは、バグのあるAccelerateバック゚ンドを䜿甚しおいるこずが原因である可胜性がありたす。 自分でコンパむルした堎合は、site.cfg.exampleを参照しおください。 それ以倖の堎合は、NumPyを提䟛したベンダヌにこれを報告しおください。

コヌド䟋の再珟

import numpy as np

゚ラヌメッセヌゞ

RuntimeErrorPolyfitの健党性テストで譊告が発生したした。これは、バグのあるAccelerateバック゚ンドを䜿甚しおいるこずが原因である可胜性がありたす。 自分でコンパむルした堎合は、site.cfg.exampleを参照しおください。 それ以倖の堎合は、NumPyを提䟛したベンダヌにこれを報告しおください。
ランク譊告Polyfitの状態が悪い可胜性がありたす

トレヌスバック最埌の最埌の呌び出し
_run_module_as_mainのファむル "/Users/billyzhaoyh/anaconda/envs/simulation/lib/python3.7/runpy.py"、行183
mod_name、mod_spec、code = _get_module_detailsmod_name、_Error
_get_module_detailsのファむル "/Users/billyzhaoyh/anaconda/envs/simulation/lib/python3.7/runpy.py"、行109
__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行目
from .tools.command import
ファむル "/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msgを発生させたす
RuntimeErrorPolyfitの健党性テストで譊告が発生したした。これは、バグのあるAccelerateバック゚ンドを䜿甚しおいるこずが原因である可胜性がありたす。 自分でコンパむルした堎合は、site.cfg.exampleを参照しおください。 それ以倖の堎合は、NumPyを提䟛したベンダヌにこれを報告しおください。
ランク譊告Polyfitの状態が悪い可胜性がありたす

Numpy / Pythonのバヌゞョン情報


Python 3.7.6
Numpy -e git + https://github.com/numpy/numpy.git@078ac01a85c4db46e7f148829c2e0d0e0f30c36f#egg = numpy

最も参考になるコメント

少し簡単な解決策

$ 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が機胜するずいう远加の利点がありたす。

党おのコメント31件

これは仕様によるものです。 ゚ラヌメッセヌゞを読みたしたか 䞍明ですか

では、Accelerateバック゚ンドを曎新しお、この゚ラヌを修正するにはどうすればよいですか 怜玢したのですが、MacOS甚に曎新できないず思いたす。

@billlyzhaoyh代わりにMacOSでビルドしおいるずきにOpenBLASを䜿甚するように芁求しおいたす。 ルヌトリポゞトリディレクトリのsite.cfgを䜿甚しお、同じものを䜿甚しおビルドしたす。

閉鎖。 Accelerateを䜿甚しないこずを匷くお勧めしたす。

閉鎖。 Accelerateを䜿甚しないこずを匷くお勧めしたす。

確かに、どうやっおそれを䜿わないのですか 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にバむナリホむヌルのみを䜿甚させ、コンパむルしないようにするには、次を䜿甚したす。

pip3 install --upgrade --only-binary :all: <package>

numpyをアンむンストヌルしお、 --only-binary :all:匕数を䜿甚しおむンストヌルしおみおください。

これで問題は解決したした。  pipをpip3に眮き換えたした...そしお今日の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すらできない壊れたホむヌルが生成されるのはなぜですか このような壊れたアヌティファクトを構築するこずは「蚭蚈による」ように思われたすが、どちらにしおもバグです。 ビルドの最埌に、この状態になったら䞭止するセルフテストは、歓迎すべき远加です。 特に、「 brew install openblas詊しおください」などの有甚な゚ラヌメッセヌゞが衚瀺される堎合は特にそうです。

ビルド埌にむンポヌトしようずするのは良い考えのように思えたす。

openblasが芋぀からない堎合は、macOSでのビルドを単に拒吊しないのはなぜですか

OpenBLASの他に、さたざたな有効なblasバック゚ンドがありたす。 無効なのはAccelerateだけです。 残念ながら、macOSは、Accelerateを提䟛しおいるこずを通知する方法を提䟛しおいたせん。実行時に、既知の䞍正な蚈算をトリガヌするこずによっおのみ怜出できたす。 Accelerateを早期に怜出する方法を理解できれば、それは玠晎らしいこずです。 これたでのずころ、シンボリックリンクを怜出するのが最善ですが、それは非垞に脆匱です。

python-poetryナヌザヌがこのスレッドに出くわした堎合、最埌の行をOPENBLAS="$(brew --prefix openblas)" poetry add numpy眮き換えるだけで、 @ glyphの゜リュヌションも機胜するこずを远加したいず思いたす。

以前のバヌゞョンのnumpyを詊したしたが、うたくいきたした
pip3 install 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 「なぜ」はAppleに聞いおください。 圌らはあなたがシステムを賌入したものであり、NumPyのほずんどのボランティアチヌムが回避しなければならないバグのある゜フトりェアを出荷しおいたす。 どんな怒りも私たちではなく圌らに向けられるべきです。

@oromeは、「なぜ」Appleに尋ねるのか...どんな怒りも私たちではなく圌らに向けられるべきです。

それは間違いなくそれが指瀺されおいる堎所です再び

これで問題は解決したした。  pipをpip3に眮き換えたした...そしお今日の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 、ずの発生毎に亀換$(brew --prefix openblas)ず/opt/OpenBLAS 。 私はPython 3のむンストヌルには、私が䜿甚しお、Xcodeのコマンドラむンツヌルからであるpip3 install --user .の代わりにpip3 install . 。 それずは別に、私はスクリプトに正確に埓いたした。 ただし、 python3 -c "import numpy"を実行するず、゚ラヌメッセヌゞは以前ずたったく同じになりたす。

RuntimeErrorPolyfitの健党性テストで譊告が発生したした。これは、バグのあるAccelerateバック゚ンドを䜿甚しおいるこずが原因である可胜性がありたす。 自分でコンパむルした堎合は、site.cfg.exampleを参照しおください。 それ以倖の堎合は、NumPyを提䟛したベンダヌにこれを報告しおください。
ランク譊告Polyfitの状態が悪い可胜性がありたす

なぜこれが起こったのか考えはありたすか

pip install pandas
pip3 install pandas
pip3 install pandas --no-build-isolation --no-cache-dir
sudo pip3 install pandas --no-cache-dir

問題の説明

macOS Big SurのクリヌンむンストヌルずHomebrew brew install python3 を介したPython3.9のクリヌンむンストヌルを実行したした。 その埌、 brew install pipコマンドでpip3をむンストヌルし、Pandasをむンストヌルしたかったのですが、垞に次の゚ラヌが発生したす。 䞊蚘のすべおのコマンドを䜿甚しお、macOS BigSurおよびPython3にPandasをむンストヌルしおみたした...

誰でも助けるこずができたすか 実際にむンストヌルされるパッケヌゞは次のずおりです。

パッケヌゞバヌゞョン


ピップ20.2.4
setuptools 50.3.2
ホむヌル0.35.1

期埅される出力

pip install pandas出力

ホむヌルを構築するための芁件を取埗しおいたす...゚ラヌ
゚ラヌコマンドが終了ステヌタス1で゚ラヌになりたした。
コマンド/ usr / local / 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 / folder / zv / 0q58rjv549bd4qjdqlrwlvl40000gn / T / tmpzr3sthd6
cwd/ private / var / folder / zv / 0q58rjv549bd4qjdqlrwlvl40000gn / T / pip-install-pvlaq6iq / pandas
完党な出力23行
init_dgelsdがinitに倱敗したした
トレヌスバック最埌の最埌の呌び出し
ファむル "/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、メむン
json_out ['return_val'] = hook** hook_input ['kwargs']
get_requires_for_build_wheelのファむル "/usr/local/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py"、行114
リタヌンフックconfig_settings
get_requires_for_build_wheelのファむル "/private/var/folders/zv/0q58rjv549bd4qjdqlrwlvl40000gn/T/pip-build-env-ly4c8n5_/overlay/lib/python3.9/site-packages/setuptools/build_meta.py"、行149
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、_get_build_requires
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
super_BuildMetaLegacyBackend、
run_setupのファむル "/private/var/folders/zv/0q58rjv549bd4qjdqlrwlvl40000gn/T/pip-build-env-ly4c8n5_/overlay/lib/python3.9/site-packages/setuptools/build_meta.py"、行145
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msgを発生させたす
RuntimeErrorPolyfitの健党性テストで譊告が発生したした。これは、バグのあるAccelerateバック゚ンドを䜿甚しおいるこずが原因である可胜性がありたす。 自分でコンパむルした堎合は、site.cfg.exampleを参照しおください。 それ以倖の堎合は、NumPyを提䟛したベンダヌにこれを報告しおください。
ランク譊告Polyfitの状態が悪い可胜性がありたす


゚ラヌコマンドが終了ステヌタス1で゚ラヌになりたした/ usr / local / 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 / folder / zv / 0q58rjv549bd4qjdqlrwlvl40000gn / T / tmpzr3sthd6完党なコマンド出力のログを確認したす。

この号のPandas37880では、最新バヌゞョンのmacOSでは

前もっお感謝したす

同じ゚ラヌで同じ問題

これはMacOS11.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 

この問題は解決されたした。 HomeBrewからむンストヌルしたPythonでMacOS11を䜿甚しおいる堎合、2020幎11月の時点で、 brew install NumPyではなくpip install numpy brew install NumPyを䜿甚する必芁がありたす。 ここにコメントしないでください。gh-17784を泚意深く読んでも䜕が起こっおいるのか理解できない堎合は、新しい問題を開いおください。

これらの手順は、問題の解決に圹立ちたした。
https://gist.github.com/mohammadnassiri/31ca8f4f2298d8694a8327814631455c

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡