Numpy 1.19 ne peut pas importer en raison d'une erreur d'exécution dans MacOS 10.14.6. Le test de santé mentale de Polyfit a émis un avertissement, probablement en raison de l'utilisation d'un backend Accelerate buggy. Si vous avez compilé vous-même, consultez site.cfg.example pour plus d'informations. Sinon, signalez-le au fournisseur qui a fourni NumPy.
import numpy as np
RuntimeError : le test d'intégrité de Polyfit a émis un avertissement, probablement en raison de l'utilisation d'un backend Accelerate bogué. Si vous avez compilé vous-même, consultez site.cfg.example pour plus d'informations. Sinon, signalez-le au fournisseur qui a fourni NumPy.
RankWarning : Polyfit peut être mal conditionné
Traceback (appel le plus récent en dernier) :
Fichier "/Users/billyzhaoyh/anaconda/envs/simulation/lib/python3.7/runpy.py", ligne 183, dans _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
Fichier "/Users/billyzhaoyh/anaconda/envs/simulation/lib/python3.7/runpy.py", ligne 109, dans _get_module_details
__import__(nom_paquet)
Fichier "/Users/billyzhaoyh/Desktop/Simulation/reina-model/calc/__init__.py", ligne 1, dans
à partir de .utils importer calcfunc
Fichier "/Users/billyzhaoyh/Desktop/Simulation/reina-model/calc/utils.py", ligne 9, dans
depuis utils.quilt importer load_datasets
Fichier "/Users/billyzhaoyh/Desktop/Simulation/reina-model/utils/quilt.py", ligne 4, dans
importer une courtepointe
Fichier "/Users/billyzhaoyh/anaconda/envs/simulation/lib/python3.7/site-packages/quilt/__init__.py", ligne 87, dans
à partir de .tools.command import (
Fichier "/Users/billyzhaoyh/anaconda/envs/simulation/lib/python3.7/site-packages/quilt/tools/command.py", ligne 24, dans
importer numpy en tant que np
Fichier "/Users/billyzhaoyh/Desktop/Simulation/reina-model/src/numpy/numpy/__init__.py", ligne 286, dans
augmenter RuntimeError(msg)
RuntimeError : le test d'intégrité de Polyfit a émis un avertissement, probablement en raison de l'utilisation d'un backend Accelerate bogué. Si vous avez compilé vous-même, consultez site.cfg.example pour plus d'informations. Sinon, signalez-le au fournisseur qui a fourni NumPy.
RankWarning : Polyfit peut être mal conditionné
Python 3.7.6
Numpy -e git+ https://github.com/numpy/numpy.git@078ac01a85c4db46e7f148829c2e0d0e0f30c36f#egg =numpy
C'est par conception. As-tu lu le message d'erreur ? C'est pas clair ?
alors comment puis-je corriger cette erreur en mettant à jour le backend Accelerate ? J'ai fait une recherche et je ne pense pas pouvoir la mettre à jour pour mon MacOS.
@billlyzhaoyh Demande d'utiliser OpenBLAS tout en construisant sur MacOS à la place. Utilisez site.cfg dans le répertoire racine du référentiel pour créer à l'aide de celui-ci.
Fermeture. Nous vous déconseillons fortement d'utiliser Accelerate.
Fermeture. Nous vous déconseillons fortement d'utiliser Accelerate.
Bien sûr, comment ne pas l' utiliser ? J'ai eu la même erreur en exécutant simplement import numpy
dans mon macOS
Si vous construisez votre propre NumPy, obtenez OpenBlas. Vous pouvez utiliser python3 tools/openblas_support.py
pour télécharger celui utilisé pour construire la roue officielle. Si vous utilisez NumPy d'un fournisseur, demandez-lui pourquoi il utilise Accelerate.
Si vous construisez votre propre NumPy, obtenez OpenBlas. Vous pouvez utiliser
python3 tools/openblas_support.py
pour télécharger celui utilisé pour construire la roue officielle. Si vous utilisez NumPy d'un fournisseur, demandez-lui pourquoi il utilise Accelerate.
Je ne construis certainement pas tout seul. J'utilise macOS et j'exécute pip3 install -U numpy
, donc je ne suis pas sûr de ce que "fournisseur" entendez-vous par là.
Pip peut construire à partir de la source derrière votre dos. Si l'installation prend plus de quelques secondes, il s'agit peut-être d'une compilation. Pour forcer pip à n'utiliser que des roues binaires et à ne jamais compiler, utilisez
pip3 install --upgrade --only-binary :all: <package>
Pouvez-vous essayer de désinstaller votre numpy et de l'installer avec l'argument --only-binary :all:
?
Cela a résolu le problème pour moi. (J'ai remplacé pip
par pip3
... et la version numpy d'aujourd'hui sera 1.19.1)
https://gist.github.com/yatsu/47bdde35e8abbe7d14bbe730342aa9e0#file -numpy-openblas-macos-pip-sh
EDIT : coller la solution complète au cas où l'essentiel serait supprimé :)
# 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
Une solution un peu plus simple :
$ 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
Selon https://twitter.com/pradyunsg/status/1317081239526936576?s=20, cela peut maintenant être fait avec une commande pip
intégrée :
$ 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
Cela a l'avantage supplémentaire que la roue n'aura pas besoin d'être reconstruite et que tout futur pip install numpy
sur pypy3 fonctionnera.
À part les solutions de contournement, pourquoi le comportement de construction par défaut produit-il une roue cassée qui ne peut même pas import
? Il semble que ce soit "par conception" de construire un artefact aussi cassé soit un bogue de toute façon; un auto-test à la fin de la construction qui s'interrompt s'il se trouve dans cet état serait un ajout bienvenu. (Surtout si cela pouvait fournir un message d'erreur utile comme "essayez brew install openblas
" ou quelque chose comme ça.)
Essayer d'importer après la construction semble être une bonne idée.
Pourquoi ne pas simplement refuser de construire sur macOS si openblas n'est pas trouvé ?
Il existe plusieurs backends blas valides, en plus d'OpenBLAS. Le seul invalide est Accélérer. Malheureusement, macOS ne fournit pas un moyen de nous dire qu'ils fournissent Accelerate, nous ne pouvons le détecter qu'au moment de l'exécution en déclenchant un mauvais calcul connu. Si vous pouvez trouver comment détecter Accelerate plus tôt, ce serait formidable. Le mieux que nous ayons eu jusqu'à présent est de détecter un lien symbolique, mais c'est très fragile.
Si des utilisateurs de python-poetry rencontrent ce fil, je voudrais juste ajouter que la solution de @glyph fonctionne également si vous remplacez simplement la dernière ligne par OPENBLAS="$(brew --prefix openblas)" poetry add numpy
J'ai essayé une version précédente de numpy et cela a fonctionné pour moi
pip3 installer numpy==1.18.0
J'espère que cette aide
désinstaller et installer 1.18.0 -- a fonctionné pour moi ! bravo à ce qui précède ^^
Je suis ici pour signaler que la suggestion d'utiliser openblas ne fonctionne pas. Cela plante :
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.
alors que cela fonctionne sans aucun problème:
pip install numpy==1.18.0
python -c 'import numpy'
@fny vérifie la sortie pour voir si pip utilise une roue en cache. Vous devrez peut-être vider le cache dans ce cas.
@fny voir https://github.com/numpy/numpy/issues/15947#issuecomment -686159427 pour des instructions mises à jour
Quelqu'un peut-il fournir un lien où l'on peut savoir pourquoi Accelerate est une mauvaise implémentation BLAS qui ne devrait pas être utilisée ? J'ai essayé de rechercher sur Google "pourquoi Apple accélérer est un mauvais blas" et je n'ai rien trouvé.
Je ne sais pas où se trouve une panne complète, mais Accelerate a des problèmes de threading, des résultats erronés et expose une version obsolète de LAPACK.
Pour référence, cette solution échoue. Pourquoi ça ne marche pas ? Et pourquoi tout cela est-il même nécessaire ?
@orome quant au "pourquoi" demandez à Apple. Ce sont ceux à qui vous avez acheté le système et qui livrent un logiciel bogué que l'équipe principalement bénévole de NumPy doit contourner. Toute colère devrait être dirigée contre eux, pas contre nous.
@orome quant au "pourquoi" demandez à Apple ... Toute colère devrait être dirigée contre eux, pas contre nous.
C'est définitivement là qu'il est dirigé (encore) !
Cela a résolu le problème pour moi. (J'ai remplacé
pip
parpip3
... et la version numpy d'aujourd'hui sera 1.19.1)
https://gist.github.com/yatsu/47bdde35e8abbe7d14bbe730342aa9e0#file -numpy-openblas-macos-pip-shEDIT : coller la solution complète au cas où l'essentiel serait supprimé :)
# 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
Cela n'a pas fonctionné pour moi. J'ai compilé OpenBLAS à partir des sources et l'ai installé dans /opt/OpenBLAS
, et j'ai remplacé chaque occurrence de $(brew --prefix openblas)
par /opt/OpenBLAS
. Mon installation Python 3 provient des outils de ligne de commande Xcode, j'ai donc utilisé pip3 install --user .
au lieu de pip3 install .
. A part ça, j'ai suivi le script à la lettre. Cependant, après avoir exécuté python3 -c "import numpy"
, le message d'erreur est exactement comme avant :
RuntimeError : le test d'intégrité de Polyfit a émis un avertissement, probablement en raison de l'utilisation d'un backend Accelerate bogué. Si vous avez compilé vous-même, consultez site.cfg.example pour plus d'informations. Sinon, signalez-le au fournisseur qui a fourni NumPy.
RankWarning : Polyfit peut être mal conditionné
Des idées pourquoi cela a pu arriver?
pip install pandas
pip3 install pandas
pip3 install pandas --no-build-isolation --no-cache-dir
sudo pip3 install pandas --no-cache-dir
J'ai effectué une nouvelle installation de macOS Big Sur et une nouvelle installation de Python3.9 via Homebrew ( brew install python3
). Après cela, j'ai installé pip3 avec la commande brew install pip
et je voulais installer Pandas mais j'obtiens toujours l'erreur suivante. J'ai essayé avec toutes les commandes répertoriées ci-dessus pour installer Pandas sur macOS Big Sur et Python3...
N'importe qui peut aider ? Voici les seuls packages réellement installés :
Version du package
pépin 20.2.4
outils de configuration 50.3.2
roue 0.35.1
pip install pandas
Obtention des exigences pour construire la roue ... erreur
ERREUR : commande erronée avec état de sortie 1 :
commande: / 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 / dossiers / ZV / 0q58rjv549bd4qjdqlrwlvl40000gn/T/tmpzr3sthd6
cwd : /private/var/folders/zv/0q58rjv549bd4qjdqlrwlvl40000gn/T/pip-install-pvlaq6iq/pandas
Sortie complète (23 lignes) :
init_dgelsd a échoué à l'initialisation
Traceback (appel le plus récent en dernier) :
Fichier "/usr/local/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py", ligne 280, dans
principale()
Fichier "/usr/local/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py", ligne 263, dans main
json_out['return_val'] = crochet(**hook_input['kwargs'])
Fichier "/usr/local/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py", ligne 114, dans get_requires_for_build_wheel
crochet de retour (config_settings)
Fichier "/private/var/folders/zv/0q58rjv549bd4qjdqlrwlvl40000gn/T/pip-build-env-ly4c8n5_/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", ligne 149, dans get_build_for
return self._get_build_requires(
Fichier "/private/var/folders/zv/0q58rjv549bd4qjdqlrwlvl40000gn/T/pip-build-env-ly4c8n5_/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", ligne 130, dans _require_build_
self.run_setup()
Fichier "/private/var/folders/zv/0q58rjv549bd4qjdqlrwlvl40000gn/T/pip-build-env-ly4c8n5_/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", ligne 253, dans run_setup
super(_BuildMetaLegacyBackend,
Fichier "/private/var/folders/zv/0q58rjv549bd4qjdqlrwlvl40000gn/T/pip-build-env-ly4c8n5_/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", ligne 145, dans run_setup
exec(compile(code, __file__, 'exec'), locaux())
Fichier "setup.py", ligne 488, dans
importer numpy en tant que np
Fichier "/private/var/folders/zv/0q58rjv549bd4qjdqlrwlvl40000gn/T/pip-build-env-ly4c8n5_/overlay/lib/python3.9/site-packages/numpy/__init__.py", ligne 286, dans
augmenter RuntimeError(msg)
RuntimeError : le test d'intégrité de Polyfit a émis un avertissement, probablement en raison de l'utilisation d'un backend Accelerate bogué. Si vous avez compilé vous-même, consultez site.cfg.example pour plus d'informations. Sinon, signalez-le au fournisseur qui a fourni NumPy.
RankWarning : Polyfit peut être mal conditionné
ERREUR: Commande errored avec l' état de la sortie 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/folders/zv/0q58rjv549bd4qjdqlrwlvl40000gn/T/tmpzr3sthd6 Vérifiez les journaux pour la sortie complète de la commande.
Dans ce numéro, Pandas#37880, ils disent qu'il s'agit d'un problème numpy avec la dernière version de macOS. De l'aide??
Merci d'avance!
même problème avec la même erreur
Cela a fonctionné pour moi sur 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
Ce problème est clos. Si vous utilisez MacOS 11 avec un python que vous avez installé à partir de HomeBrew, à partir de novembre 2020, vous devriez utiliser brew install NumPy
non pip install numpy
. Veuillez ne pas commenter ici, ouvrez un nouveau numéro si une lecture attentive de gh-17784 ne vous aide pas à comprendre ce qui se passe.
Ces étapes m'ont aidé à résoudre le problème :
https://gist.github.com/mohammadnassiri/31ca8f4f2298d8694a8327814631455c
Commentaire le plus utile
Une solution un peu plus simple :
$ 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
Selon https://twitter.com/pradyunsg/status/1317081239526936576?s=20, cela peut maintenant être fait avec une commande
pip
intégrée :Cela a l'avantage supplémentaire que la roue n'aura pas besoin d'être reconstruite et que tout futur
pip install numpy
sur pypy3 fonctionnera.