Python Scrapy分段错误

时间:2013-04-14 23:45:52

标签: python django segmentation-fault scrapy nltk

我有一个django项目,我使用nltk。尝试

时出现分段错误
import nltk

我找到了它发生的确切线,它是collocations.py:38。 我还发现我只在django unit-tests和django manage.py shell中得到这个错误(实际上是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尚未生效

UPDATE:我找到了导致段错误的语句(我想,就像我将它从模块范围移到功能范围一样,这会导致不发生段错误)

from scrapy.crawler import CrawlerProcess

这是爬行scrapy框架的类,我在自定义模块中使用它来执行scrapy spider作为python脚本。似乎segfault不是NLTK故障,而是scrapy。可能某种程度上这个类重写了nltk的一些数据,这就是为什么它是segfaulted。

1 个答案:

答案 0 :(得分:1)

我遇到了与CrawlerProcess相同的问题。 Scrapy无法安装libxml2。尝试在命令提示符中输入:

easy_install lxml
pip install scrapy --upgrade

此后我的程序正确执行。