Ошибка импорта модуля Python «Импортеррор: нет модуля с именем 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
Эта команда загрузила необходимый файл .egg, а мой каталог Packages для 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; Любая помощь приветствуется. Благодарю вас!
Решение
Два предложения:
Убедитесь, что у вас нет проблем с разрешениями файла или каталога для установленных яиц и файлов в
site-packages
каталог.Если вы установили еще один экземпляр Python 2.6 (помимо того, что яблочный поставлен
/usr/bin/python2.6
), убедитесь, что вы установили отдельную версиюeasy_install
для этого. Как есть, ваш вывод указывает на то, что он почти наверняка установил с использованием Apple-поставленногоeasy_install
в/usr/bin
который предназначен для яблочного питона. Самый простой способ сделать это - установить Распределять Пакет с использованием нового Python.
Другие советы
У меня была та же проблема, я попробовал pip install mrjob
, sudo easy_install mrjob
. Анкет Похоже, что он успешно установил, но когда я запустил простой пример сценария, я получил ошибку импорта.
Я взял его на работу, следуя инструкциям по адресу: http://pythonhosted.org//mrjob/guides/quickstart.html#installation.
Короче говоря, я клонировал исходный код от GitHub и запустил python setup.py install
. Анкет Моя проблема может отличаться от вашей. В моем каталоге Packages не было ничего для MRJOB после запуска PIP-Install и Easy_install.