Domanda

Ho avuto un'installazione funzionante di NLTK (py26-NLTK) sul mio Mac (OS X 10.6.2). Poi ho installato NumPy. Ora, quando si tenta di importare NLTK, ottengo questo:

>>> 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

Che cosa ha di sbagliato andato? Come posso risolvere questo problema?

È stato utile?

Soluzione

Sembra essere più di una questione di [versione] incompatibilità tra SciPy e NumPy le versioni che tra NLTK e Numpy.
Mentre SciPy non è richiesto per NLTK, è un'importazione facoltativa, e verrà caricato se disponibile.

Alcune ipotesi per quanto riguarda la tua situazione:

Hyp # 1

  • si in precedenza erano in esecuzione sotto NumPy 1.3 con una versione compatibile di SciPy
  • di recente installato NumPy 1.4 ma non ha toccato SciPy ==> "Old" SciPy è rotto.
    Rimedio: Installare più recente SciPy o disinstallare del tutto (anche se è possibile utilizzare / bisogno SciPy, senza saperlo, a seconda dei moduli di NLTK che si usa)
    Rimedio alternativo:. Reinstallare NumPy 1.3 oltre 1,4

Hyp # 2 (meno probabile)

  • Non hai mai avuto SciPy e NLTK era felice, lavorare senza di essa.
  • È recentemente installato NumPy 1.4 (oltre 1,3) e SciPy (per niente)
  • Per qualche ragione NumPy e SciPy non giochino bello insieme
    Rimedio: Disinstallare SciPy

Altri suggerimenti

Ho avuto lo stesso problema su Python 2.6 su Windows XP e come suggerito da MJV, ho disinstallato il mio vecchio modulo SciPy e installato l'ultima, in quale fase ho ottenuto l'errore che il modulo yaml mancava.

Dopo l'installazione del modulo di PyYAML, l'affermazione "import NLTK" non ha dato alcun errore.

Spero che questo aiuti chiunque altro avendo lo stesso problema.

Atish

Chiming in un po 'in ritardo, ma mi sono imbattuto in questo problema con NumPy e Fisher, su OSX (leopardo delle nevi, ma suppongo che questo sarebbe accaduto su altre macchine x86).

avevo installato pescatore via pypm, e installato NumPy da un dmg binario. In una situazione come questo presumo che da qualche parte lungo la strada un binario è stato infettato con un PowerPC binario, quindi è meglio per eliminarli via, e ricostruire dalla fonte.

Io li cancellato manualmente da ~ / Library / ..., tirato giù le fonti (tra cui SciPy, potrebbe anche mordere la pallottola ora), ricompilato tutti e tre dalla sorgente, e due ore più tardi ha avuto un sistema di lavoro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top