ValueError: numpy.dtype a la bonne taille, essayez de recompiler
Je viens d'installer les pandas et statsmodels paquet sur mon python 2.7
Quand j'ai essayé d'importer les pandas comme pd", ce message d'erreur vient de sortir.
Quelqu'un peut-il aider? Merci!!!
numpy.dtype has the wrong size, try recompiling
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\analytics\ext\python27\lib\site-packages\statsmodels-0.5.0-py2.7-win32.egg\statsmodels\formula\__init__.py",
line 4, in <module>
from formulatools import handle_formula_data
File "C:\analytics\ext\python27\lib\site-packages\statsmodels-0.5.0-py2.7-win32.egg\statsmodels\formula\formulatools.p
y", line 1, in <module>
import statsmodels.tools.data as data_util
File "C:\analytics\ext\python27\lib\site-packages\statsmodels-0.5.0-py2.7-win32.egg\statsmodels\tools\__init__.py", li
ne 1, in <module>
from tools import add_constant, categorical
File "C:\analytics\ext\python27\lib\site-packages\statsmodels-0.5.0-py2.7-win32.egg\statsmodels\tools\tools.py", line
14, in <module>
from pandas import DataFrame
File "C:\analytics\ext\python27\lib\site-packages\pandas\__init__.py", line 6, in <module>
from . import hashtable, tslib, lib
File "numpy.pxd", line 157, in init pandas.tslib (pandas\tslib.c:49133)
ValueError: numpy.dtype has the wrong size, try recompiling
- Comment avez-vous installé les pandas?
- double possible de Impossible d'importer Scikit-Learn
- Avez-vous essayé de recompiler?
- Pourquoi ne pas utiliser le python(x,y), enthought ou winpython de distribution? Ils sont spécifiquement conçus pour éliminer ces la compilation et l'installation des problèmes pour les scientifiques python sous windows et viennent avec la plupart des forfaits vous sont susceptibles à vouloir précompilés.
- Ce message s'affiche lorsque les pandas est compilé avec une version plus récente de numpy version que celle que vous avez installés. Vous avez besoin de recompiler les pandas contre la numpy version que vous avez installée ou mise à jour de numpy.
- Parce que parfois vous avez besoin de travailler avec une distribution Python livré avec un autre programme (ArcGIS, par exemple).
Vous devez vous connecter pour publier un commentaire.
(pour les développer un peu sur mon commentaire)
Numpy développeurs suivent en général une politique de maintien de l'arrière-compatible interface binaire (ABI). Cependant, l'ABI n'est pas compatible.
Ce que cela signifie:
Un paquet, qui utilise numpy compilée extension, est compilé avec une version spécifique de numpy. Version Future de numpy sera compatible avec la compilation de l'extension de l'emballage (pour les exceptions, voir ci-dessous).
La distribution de ces autres paquets ne pas avoir à recompiler leurs colis à l'encontre d'une des versions plus récentes de numpy et les utilisateurs n'ont pas besoin de mettre à jour ces autres paquets, lorsque les utilisateurs de mettre à jour vers une version plus récente de numpy.
Toutefois, cela ne veut pas aller dans l'autre direction. Si un paquet est compilé à l'égard d'une numpy version, disons 1.7, alors il n'ya aucune garantie que les fichiers binaires de ce paquet de travail avec les anciens numpy versions, dites 1.6, et très souvent ou la plupart du temps, ils ne le seront pas.
La distribution binaire de paquets comme les pandas et statsmodels, qui sont compilés sur une version récente de numpy, ne fonctionnera pas si une version plus ancienne de numpy est installé.
Certains paquets, par exemple matplotlib, si je me souviens bien, de compiler leurs extensions à l'encontre de la plus ancienne numpy version qu'ils soutiennent. Dans ce cas, les utilisateurs avec le même vieux ou toute version plus récente de numpy pouvez utiliser ces fichiers binaires.
Le message d'erreur en question est un résultat typique de binaire incompatibilités.
La solution est d'obtenir un binaire version compatible, soit par la mise à jour de numpy, au moins dans la version à l'encontre de laquelle des pandas ou des statsmodels ont été compilés, ou de recompiler les pandas et statsmodels à l'encontre de l'ancienne version de numpy qui est déjà installé.
La rupture de l'ABI compatibilité ascendante:
Parfois des améliorations ou des refactorings dans numpy pause ABI compatibilité descendante. Ce qui s'est passé (involontairement) avec numpy 1.4.0.
En conséquence, les utilisateurs de la mise à jour de numpy à 1.4.0, avait binaire des incompatibilités avec tous les autres paquets construits, qui ont été compilés sur une version précédente de numpy. Cela nécessite que tous les paquets binaires les extensions qui utilisent numpy doivent être recompilées pour travailler avec l'ABI version incompatible.
Pour moi (Mac OS X Maverics, Python 2.7)
aidé. Après cela, vous pouvez installer la mise à jour des paquets pandas, scikit-learn, e.t.c. à l'aide de pip:
Je l'ai trouvé une version simple dépassées ou d'incompatibilité et qui a été corrigé avec:
Ou pourraient travailler avec l'un liner:
J'ai eu une erreur similaire avec une autre bibliothèque et réalisé que j'ai eu plusieurs versions de numpy installé sur mon système. Le correctif pour moi a été de modifier mon PYTHONPATH et de mettre le site-packages contenant la dernière version de numpy en première position.
Comme dans ici, pour moi seulement
sudo pip install pandas==0.13.1
travailléJ'ai aussi cette erreur se produit lors de l'utilisation des pandas pour accéder à MYSQL.
Cette message d'erreur indique un binaire compatible problème et peut être résolu par
en utilisant la dernière version de pandas et numpy paquet.
Voici mes étapes pour résoudre ce problème, et il fonctionne bien sur mon Ubuntu 12.04:
File "numpy/core/setup.py", line 654, in get_mathlib_info RuntimeError: Broken toolchain: cannot link a simple C program
Dans mon cas, j'avais installé les pandas-0.10.0.win-amd64-py2.7 mais a vérifier pour voir si un bug a été corrigé dans une version plus récente de pandas. J'ai donc fait un easy_install -U pour forcer la mise à niveau, mais qui a ensuite obtenu l'erreur ci-dessus en raison de certaines incompatibilités avec numpy etc... quand j'ai fait
À corriger, je viens de réinstaller les pandas-0.10.0.win-amd64-py2.7 binaire et tout fonctionne. Je n'ai pas vu cette réponse (suggère d'utiliser pip) qui peut m'ont aidé (mais pas sûr) Installer version particulière avec easy_install
Aussi ceci explique pourquoi l'on devrait utiliser virtualenv (dont je n'étais pas).
Pour moi (Mac OS X Mavericks), il a travaillé pour installer la version pour python2.6:
puis exécutez:
Le problème que j'ai résolu sur Webfaction était vieille bibliothèque numpy(1.5) qui était en conflit avec mon nouveau
installation .virtualenv.
Le problème a été résolu après je n'ai pip installer les pandas de l'environnement virtuel.
L'idée est venue d'une discussion sur https://github.com/pydata/pandas/issues/3711, merci, cpcloud!
Je viens de rencontrer ce "ValueError' problème et l'ont abordée. Certainement, il ya quelque chose de mal avec numpy paquet.
Mais quand j'essaie de
pip install --upgrade numpy
il a échoué, j'ai donc désinstaller et télécharger la dernièrenumpy.zip
fichier.Puis manuellement décompresser et
python setup.py install
il.Heureusement, ça fonctionne!
sudo pip install --upgrade numpy
et cela a fonctionné.Comme @user333700 dit, a requis versions de bibliothèques peuvent ne pas respecter les uns les autres. Vous obtenez une bibliothèque comme une autre dépendance. Puis, sans savoir qu'il était déjà installé en tant que dépendance, vous avez besoin de cette bibliothèque spécifique et que vous installez une version. Avec de tels moyens dépendances peuvent gâcher.
J'ai vécu un tel cas, et cherché une solution. Trouvé ceci:
https://stackoverflow.com/a/12975518/1694344
J'ai eu deux versions différentes pour egg-info du fichier et le nom du dossier de numpy:
J'ai enlevé tous et réinstallé numpy avec le pip.
Il ya des cas où vous souhaitez conserver l'NumPy de la version et de l'option de mise à niveau mentionné ici ne fonctionne pas.
Un exemple qui m'est venue a été la distribution Python préinstallé avec ArcGIS. Pour ArcPy de travailler dans ArcGIS 10.5.1, que la distribution doit être Python 2.7.12 avec NumPy 1.9.3 et toute autre version de NumPy est probablement pour causer des problèmes avec votre ArcPy fonctionnalité.
Ce que vous pouvez faire avec ce cas est d'essayer d'en installer un, ancienne version de la problématique de la troisième partie de la bibliothèque qui est censé être compatible avec les anciennes NumPy version de ArcGIS a.
Par exemple, scikit-learn 0.19.1 risquent de ne PAS fonctionner avec NumPy 1.9.3, et la même erreur que vous avez mentionné. Cependant, scikit-learn 0.15 fonctionne très bien. Vous pouvez tester différentes versions de trouver celui qui fonctionne. Il suffit de mentionner le numéro de version par pip:
J'ai eu un problème similaire, et tout simplement ré-installation à l'aide de
pip install ...
comme suggéré dans les commentaires précédents n'ont pas de travail.Ce qui a fonctionné pour moi a été de ré-installation avec l'ajout du drapeau
pip install --no-cache-dir ...
, semble il y avait une incompatibilité de numpy version quelque part dans le cache.