繁体   English   中英

Python 模块导入错误“ImportError: No module named mrjob.job”

[英]Python Module Import Error "ImportError: No module named mrjob.job"

系统: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

此命令下载了 needed.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目录中已安装的egg和文件没有任何文件或目录权限问题。

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

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

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

简而言之,我从github克隆了源代码并运行了python setup.py install 不过,我的问题可能与你的不一样。 运行pip-install和easy_install后,mrjob的site-packages目录中没有任何内容。

可以通过运行以下命令安装 mrjob package:
pip 安装 mrjob
安装后,错误将得到解决。
它适用于我的情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM