Pythonモジュールインポートエラー「ImporterRor:mrjob.jobという名前のモジュールなし」

StackOverflow https://stackoverflow.com/questions/4199984

  •  11-10-2019
  •  | 
  •  

質問

システム: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

私はyeasy_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にやや新しいので、ここで何をすべきかわかりません。どんな助けも大歓迎です。ありがとうございました!

役に立ちましたか?

解決

2つの提案:

  1. インストールされた卵やファイルのファイルまたはディレクトリの権限の問題がないことを確認してください site-packages ディレクトリ。

  2. Python 2.6の別のインスタンスをインストールした場合(Appleがサプリしたもの以外に /usr/bin/python2.6)、個別のバージョンをインストールしていることを確認してください easy_install それのための。現状では、出力はApple-Suppliedを使用してほぼ確実にインストールされたことを示しています easy_install/usr/bin これは、Apple-Supplied Python用です。それを行う最も簡単な方法は、 分配 新しいPythonを使用したパッケージ。

他のヒント

私は同じ問題を抱えていました、私は試しました pip install mrjob, sudo easy_install mrjob. 。正常にインストールされているように見えましたが、簡単な例のスクリプトを実行したとき、インポートエラーが発生しました。

次のような指示に従って動作させました。 http://pythonhosted.org//mrjob/guides/quickstart.html#installation.

一言で言えば、私はgithubからソースコードをクローンして実行しました python setup.py install. 。しかし、私の問題はあなたとは異なるかもしれません。 PIP-InstallとEasy_Installを実行した後、MRJOB用のサイトパッケージディレクトリには何もありませんでした。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top