0

Mac(OS X 10.6.2)にNLTK(py26-nltk)をインストールしました。次に、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

何が悪かったのですか?どうすればこれを修正できますか?

4

3 に答える 3

4

NLTKとNumpyの間よりも、SciPyバージョンとNumPyバージョンの間の[バージョン]の非互換性の問題のようです。
SciPyはNLTKには必要ありませんが、オプションのインポートであり、利用可能な場合はロードされます。

あなたの状況に関するいくつかの仮説:

Hyp#1

  • 以前は、互換性のあるバージョンのSciPyとともにNumPy1.3で実行していました
  • 最近NumPy1.4をインストールしましたが、SciPyに触れていません==>「古い」SciPyが壊れています。
    対処法:新しいSciPyをインストールするか、完全にアンインストールします(ただし、使用するNLTKのモジュールによっては、知らないうちにSciPyを使用/必要とする場合があります)
    代替対処法:1.4を介してNumPy1.3を再インストールします。

Hyp#2(可能性は低い)

  • あなたはSciPyを持ったことがなく、NLTKはそれなしで働いて幸せでした。
  • 最近、NumPy 1.4(1.3以上)SciPy(何もない)をインストールしました
  • 何らかの理由で、NumPyとSciPyが一緒にうまく機能しない
    対処法:SciPyをアンインストールする
于 2010-02-02T21:01:57.087 に答える
1

WindowsXPのPython2.6でも同じ問題が発生し、mjvが示唆するように、古いSciPyモジュールをアンインストールして最新のものをインストールしました。その段階で、yamlモジュールが見つからないというエラーが発生しました。

PyYAMLモジュールをインストールした後、「importnltk」ステートメントでエラーが発生することはありませんでした。

これが同じ問題を抱えている他の人に役立つことを願っています。

Atish

于 2010-08-09T23:19:50.983 に答える
1

チャイムはやや遅れましたが、osx(ユキヒョウですが、他のx86マシンでも発生すると思います)で、numpyとfisherでこの問題が発生しました。

私はpypmを介してfisherをインストールし、バイナリdmgからnumpyをインストールしました。このような状況では、途中でバイナリがPowerPCバイナリに感染したと思います。そのため、それらをクリアして、ソースから再構築するのが最善です。

私はそれらを〜/ Library / ...から手動で削除し、ソースをプルダウンし(scipyを含む、今すぐその弾丸を噛むかもしれません)、ソースから3つすべてを再コンパイルし、2時間後にシステムが機能しました。

于 2012-01-24T19:00:10.960 に答える