2010-02-02 5 views
0

J'avais une installation fonctionnante de NLTK (py26-nltk) sur mon Mac (OS X 10.6.2). Puis j'ai installé numpy. Maintenant, quand j'essaie d'importer nltk, je reçois ceci:L'installation de numpy a cassé NLTK (OS X 10.6.2, Python 2.6)

>>> import nltk 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "nltk/__init__.py", line 83, in <module> 
    from collocations import * 
    File "nltk/collocations.py", line 39, in <module> 
    from nltk.metrics import ContingencyMeasures, BigramAssocMeasures, TrigramAssocMeasures 
    File "nltk/metrics/__init__.py", line 14, in <module> 
    from scores import * 
    File "nltk/metrics/scores.py", line 15, in <module> 
    from scipy.stats.stats import betai 
    File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/scipy/stats/__init__.py", line 7, in <module> 
    from stats import * 
    File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/scipy/stats/stats.py", line 203, in <module> 
    from morestats import find_repeats #is only reference to scipy.stats 
    File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/scipy/stats/morestats.py", line 7, in <module> 
    import distributions 
    File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/scipy/stats/distributions.py", line 27, in <module> 
    import vonmises_cython 
    File "numpy.pxd", line 30, in scipy.stats.vonmises_cython (scipy/stats/vonmises_cython.c:2939) 
ValueError: numpy.dtype does not appear to be the correct type object 

Qu'est-ce qui a mal tourné? Comment puis-je réparer cela?

Répondre

4

Il semble s'agir plutôt d'une incompatibilité entre les versions SciPy et NumPy qu'entre [version] qu'entre NLTK et Numpy.
Bien que SciPy ne soit pas requis pour NLTK, il s'agit d'une importation facultative, qui sera chargée si elle est disponible.

Quelques hypothèses concernant votre situation:

Hyp # 1

  • vous exécutiez auparavant sous NumPy 1.3 avec une version compatible de SciPy
  • vous NumPy récemment installé 1.4, mais n'a pas touchez SciPy ==> "Ancien" SciPy est cassé. Solution: Installez SciPy plus récent ou désinstallez-le complètement (bien que vous utilisiez/ayez besoin de SciPy, sans le savoir, selon les modules de NLTK que vous utilisez)
    Autre solution: réinstallez NumPy 1.3 sur 1.4.

Hyp # 2 (moins probable)

  • Vous jamais eu SciPy et NLTK était heureux, travailler sans elle.
  • récemment installé NumPy 1.4 (plus de 1,3) et SciPy (plus rien)
  • Pour une raison NumPy et SciPy ne jouent pas bien ensemble
    Remède: Désinstallez SciPy
+0

Aucune quantité de SciPy diddling n'a fait l'affaire, mais l'installation de NumPy 1.3 sur 1.4 a fait le travail. Merci! –

1

J'ai eu la même problème sur Python 2.6 sur Windows XP et comme suggéré par mjv, j'ai désinstallé mon ancien module SciPy et installé le dernier, à quel stade j'ai eu l'erreur que le module yaml manquait. Après l'installation du module PYYAML, l'instruction "import nltk" n'a donné aucune erreur.

Espérons que cela aide quelqu'un d'autre ayant le même problème.

Atish

1

Chiming à peu en retard, mais je suis tombé sur ce problème avec numpy et pêcheur, sur osx (léopard des neiges, mais je suppose que cela se passerait-il sur d'autres machines x86).

J'ai installé fisher via pypm, et installé numpy à partir d'un dmg binaire. Dans une situation comme celle-ci je suppose que quelque part sur le chemin un binaire a été infecté par un binaire PowerPC , il est donc préférable de les effacer, et reconstruire à partir de la source.

je les ai supprimés manuellement à partir ~/Library/..., les abattirent sources (y compris scipy, pourrait aussi bien mordre cette balle maintenant), recompiler tous les trois de la source, et deux heures plus tard d'un système de travail .

Questions connexes