Question

J'ai eu une installation fonctionnelle de NLTK (py26-NLTK) sur mon Mac (OS X 10.6.2). Ensuite, j'ai installé numpy. Maintenant, quand je tente d'importer NLTK, je reçois ceci:

>>> 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 ne va pas? Comment puis-je résoudre ce problème?

Était-ce utile?

La solution

Il semble être plus d'une question de [version] incompatibilité entre SciPy et NumPy versions que entre NLTK et Numpy.
Alors que SciPy n'est pas nécessaire pour NLTK, il est une importation en option, et charge le cas échéant.

Quelques hypothèses concernant votre situation:

Hyp # 1

  • vous exécutiez auparavant sous NumPy 1.3 avec une version compatible de SciPy
  • vous avez récemment installé NumPy 1.4 mais n'a pas touché SciPy ==> "vieux" SciPy est cassé.
    Remède: Installer ou désinstaller nouvelle SciPy complètement (bien que vous puissiez utiliser / SciPy besoin, sans le savoir, en fonction des modules de NLTK que vous utilisez)
    Autre Remède: réinstaller NumPy 1.3 sur 1.4
  • .

Hyp # 2 (moins probable)

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

Autres conseils

J'ai eu le même problème sur Python 2.6 sous Windows XP et comme suggéré par MJV, je désinstallé mon ancien module SciPy et installé le dernier, à quel stade je suis arrivé l'erreur que le module YAML était absent.

Après avoir installé le module PyYAML, la déclaration "NLTK importation" n'a pas donné aucune erreur.

Hope this helps toute autre personne ayant le même problème.

Atish

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'avais installé par pêcheur pypm et installé numpy d'un dmg binaire. Dans une situation comme cela, je suppose que quelque part le long du chemin un binaire a été infecté par un PowerPC binaire, il est donc préférable de les déblayer et reconstruire de la source.

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top