4

系统:Mac OSX 10.6.5,Python 2.6

我尝试运行下面的python脚本:

from mrjob.job import MRJob

 class MRWordCounter(MRJob):
  def mapper(self, key, line):
      for word in line.split():
          yield word, 1

  def reducer(self, word, occurrences):
      yield word, sum(occurrences)

if __name__ == '__main__':
    MRWordCounter.run()

我收到以下错误:

:~ vskarich$ python mrjob_test.py < words
Traceback (most recent call last):
  File "mrjob_test.py", line 1, in <module>
   from mrjob.job import MRJob
  ImportError: No module named mrjob.job

我曾经像这样使用easy_install:

sudo easy_install mrjob

该命令下载了所需的 .egg 文件,我的 python 站点包目录如下所示:

:~ vskarich$ cd /Library/Python/2.6/site-packages

:site-packages vskarich$ ls

PyYAML-3.09-py2.6-macosx-10.6-universal.egg  
easy-install.pth
README       
mrjob-0.2.0-py2.6.egg
boto-2.0b3-py2.6.egg     
simplejson-2.1.2-py2.6-macosx-10.6-universal.egg

我不确定在这里做什么,因为我对 python 有点陌生;任何帮助将非常感激。谢谢!

4

2 回答 2

2

两个建议:

  1. 确保您对目录中安装的鸡蛋和文件没有任何文件或目录权限问题site-packages

  2. 如果您已经安装了 Python 2.6 的另一个实例(除了 Apple 在 中提供的一个/usr/bin/python2.6),请确保您已经安装了一个单独的版本easy_install。照原样,您的输出表明它几乎肯定是使用 Apple 提供easy_install的安装的,/usr/bin其中用于 Apple 提供的 Python。最简单的方法是使用新的 Python安装Distribute包。

于 2010-11-17T00:11:45.333 回答
2

我有同样的问题,我试过了pip install mrjobsudo easy_install mrjob。看起来它安装成功了,但是当我运行一个简单的示例脚本时,我得到了导入错误。

我按照以下说明进行操作:http: //pythonhosted.org//mrjob/guides/quickstart.html#installation

简而言之,我从 github 克隆了源代码并运行了python setup.py install. 不过,我的问题可能与您的不同。运行 pip-install 和 easy_install 后,我的站点包目录中没有任何 mrjob 文件。

于 2014-11-14T18:18:51.217 回答