系统: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有些新。任何帮助将非常感激。谢谢!

有帮助吗?

解决方案

两个建议:

  1. 确保您没有任何文件或目录权限问题 site-packages 目录。

  2. 如果您安装了另一个python 2.6的实例(除了苹果提供的一个实例 /usr/bin/python2.6),确保您已安装了单独的版本的 easy_install 为了它。作为以下的,您的输出表明它几乎可以肯定是使用苹果提供的 easy_install/usr/bin 这是针对苹果供应的Python。最简单的方法是安装 分发 使用新Python的包装。

其他提示

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

我通过按照以下说明来工作以下说明: http://pythonhosted.org//mrjob/guides/quickstart.html#installation.

简而言之,我从github克隆了源代码,然后跑了 python setup.py install. 。不过,我的问题可能与您的问题不同。在运行PIP安装和Easy_install后,我的网站包装目录中没有任何网站包装目录。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top