nltk を使用する django プロジェクトがあります。しようとするとセグメンテーションエラーが発生します
import nltk
それが発生する正確な行を見つけました。それは collocations.py:38 です。また、このエラーはdjango unit-testsとdjango manage.pyシェル(実際にはshell_plusですが、何かを変更することはありません)でのみ発生し、カスタム管理コマンドでは発生しないこともわかりました(これはおそらく、私が勝ったことを意味します本番環境ではこのエラーは発生しません)
私はdjango django 1.4.5、nltk 2.0.4、python 2.7.3を使用しています。
ありがとう!
更新: Python を 2.7.4 に更新しても影響はありません
更新: numpy を 1.7.1 に、scipy を 0.12.0 に更新しても影響はありません
更新:セグメンテーション違反を引き起こすステートメントを見つけました(おそらく、モジュールスコープから関数スコープに移動したため、セグメンテーション違反が発生しませんでした)
from scrapy.crawler import CrawlerProcess
scrapy
これは、scrapy スパイダーを Python スクリプトとして実行するためのカスタム モジュールで使用したクロール フレームワークのクラスです。segfault は NLTK の障害ではなく、スクレイピーのようです。おそらく何らかの方法でこのクラスが nltk の一部のデータを書き直したため、segfault が発生しました。