Установка Numpy сломал NLTK (OS X 10.6.2, Python 2.6) - PullRequest
0 голосов
/ 02 февраля 2010

У меня была рабочая установка NLTK (py26-nltk) на моем Mac (OS X 10.6.2). Затем я установил NumPy. Теперь, когда я пытаюсь импортировать nltk, я получаю это:

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

Что пошло не так? Как я могу это исправить?

Ответы [ 3 ]

4 голосов
/ 03 февраля 2010

Кажется, это больше связано с несовместимостью [version] между версиями SciPy и NumPy , чем между NLTK и Numpy.
Хотя SciPy не требуется для NLTK, это необязательный импорт, и он будет загружаться при наличии.

Несколько гипотез относительно вашей ситуации:

Hyp # 1

  • вы раньше работали под NumPy 1.3 вместе с совместимой версией SciPy
  • вы недавно установили NumPy 1.4, но не коснулись SciPy ==> «Старый» SciPy сломан.
    Помощь: Установите более новую версию SciPy или полностью удалите ее (хотя вы, возможно, используете или нуждаетесь в SciPy, не зная об этом, в зависимости от используемых вами модулей NLTK)
    Альтернативное решение: переустановите NumPy 1.3 поверх 1.4.

Hyp # 2 (менее вероятно)

  • У вас никогда не было SciPy, и NLTK был счастлив, работая без него.
  • Вы недавно установили NumPy 1.4 (более 1,3) и SciPy (более ничего)
  • По какой-то причине NumPy и SciPy не очень хорошо играют вместе
    Помощь: удалить SciPy
1 голос
/ 24 января 2012

Перезвон немного позже, но я столкнулся с этой проблемой с numpy и fisher, на osx (снежный барс, но я предполагаю, что это произойдет на других машинах с архитектурой x86).

Я установил fisher через pypm и установил numpy из двоичного dmg. В ситуации как это я предполагаю, что где-то по пути двоичный файл заразился с PowerPC двоичный файл, поэтому лучше удалить их и восстановить из исходного кода.

Я вручную удалил их из ~ / Library / ..., вытащил источники (в том числе scipy, может с таким же успехом укусить эту пулю), перекомпилировал все три из исходного кода, а через два часа работала система.

1 голос
/ 10 августа 2010

У меня была та же проблема на Python 2.6 в Windows XP, и, как подсказал mjv, я удалил свой старый модуль SciPy и установил последний, на этом этапе я получил сообщение об ошибке, что отсутствовал модуль yaml.

После установки модуля PyYAML оператор import nltk не выдал ошибок.

Надеюсь, что это поможет кому-то еще с такой же проблемой.

Атиш

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...