Python modulo di importazione di errore “ImportError: No module named mrjob.job”
Domanda
Sistema: Mac OS X 10.6.5, Python 2.6
I tenta di eseguire lo script python di seguito:
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()
ottengo il seguente errore:
:~ 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
I aveva usato easy_install in questo modo:
sudo easy_install mrjob
Questo comando scaricato il file .egg necessaria, e la mia directory site-packages per gli sguardi python come questo:
:~ 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
Non sono sicuro di cosa fare qui come sono un po 'nuovo a Python; Qualsiasi aiuto sarebbe molto apprezzato. Grazie!
Soluzione
Due suggerimenti:
-
Assicurarsi che non si dispone di qualsiasi file o directory problemi di autorizzazioni per le uova installati e file nella directory
site-packages
. -
Se è stato installato un altro esempio di Python 2.6 (oltre a quella fornita da Apple in
/usr/bin/python2.6
), assicurarsi di aver installato una versione separata dieasy_install
per esso. Come è, l'output indica che è stato quasi sicuramente installato utilizzando ileasy_install
Apple fornito in/usr/bin
che è per il Python fornita da Apple. Il modo più semplice per farlo è quello di installare il Distribuire pacchetto utilizzando il nuovo Python.
Altri suggerimenti
Ho avuto lo stesso problema, ho provato pip install mrjob
, sudo easy_install mrjob
. Sembrava che installato correttamente, ma quando mi sono imbattuto uno script semplice esempio, ho ottenuto l'errore di importazione.
ho preso al lavoro seguendo le istruzioni all'indirizzo: http: // pythonhosted. org // mrjob / guide / quickstart.html # installazione .
In poche parole, ho clonato il codice sorgente da github e corse python setup.py install
. Il mio problema potrebbe essere diversa dalla vostra, però. Non c'era niente nella mia directory site-packages per mrjob dopo l'esecuzione di pip-install e easy_install.