我尝试使用流式mapreduce为一些本科工作实现一些NLP内容。我觉得我的大部分代码都是正确的,但是我遇到了一些让我的映射器使用sklearn模块的问题。我使用的是anaconda,我已经在本地测试了一切,它运行正常。我在使用虚拟机时遇到了类似的问题(A udacity教程)但是从anaconda导入的任何内容都会失败,例如scipy或numpy。我当前的映射器使用它们没有问题,只有在导入sklearn时崩溃才会出现问题。具体来说,从日志文件:
文件" /..././ tokenize_mapper.py",第12行,在 来自sklearn.feature_extraction.text导入TfidfVectorizer ImportError:没有名为sklearn.feature_extraction.text
的模块
我的映射器看起来像这样:
#!/usr/bin/env python
import sys
import scipy.sparse
import numpy
import cPickle as pickle
from sklearn.feature_extraction.text import TfidfVectorizer #breaks here
for line in sys.stdin:
#Some Stuff
只要我排除导入sklearn行,我就可以正常工作。我很好奇是否有人建议为什么会这样?我会理解,如果anaconda附带的图书馆都没有工作。我在10.9.3的Mac上运行hadoop(在伪分布式模式下)2.4.0,我的sklearn版本是' 0.14.1'我正在使用python 2.7