Python Module Erreur d'importation « ImportError: Aucun module nommé mrjob.job »
Question
Système: Mac OS X 10.6.5, Python 2.6
J'essaie de lancer le script python ci-dessous:
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()
je reçois l'erreur suivante:
:~ 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
J'avais utilisé easy_install comme ceci:
sudo easy_install mrjob
Cette commande a téléchargé le fichier .egg nécessaire, et mon répertoire site-packages pour un look python comme ceci:
:~ 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
Je ne sais pas ce qu'il faut faire ici que je suis un peu nouveau pour python; Toute aide serait très appréciée. Merci!
La solution
Deux suggestions:
-
Assurez-vous que vous ne disposez pas des fichiers ou autorisations répertoire des problèmes pour les oeufs installés et les fichiers dans le répertoire
site-packages
. -
Si vous avez installé une autre instance de Python 2.6 (en plus de celui fourni par Apple
/usr/bin/python2.6
), assurez-vous que vous avez installé une version distincte deeasy_install
pour elle. Comme il est, votre sortie indique qu'il a été presque certainement installé à l'aide dueasy_install
fourni par Apple à/usr/bin
qui est pour le Python fourni par Apple. La meilleure façon de le faire est d'installer le distribuer package en utilisant la nouvelle Python.
Autres conseils
J'ai eu le même problème, j'ai essayé pip install mrjob
, sudo easy_install mrjob
. Il semblait installé avec succès, mais quand je courais un simple exemple de script, j'ai eu l'erreur d'importation.
Je l'ai au travail en suivant les instructions à l'adresse: http: // pythonhosted. org // mrjob / guides / quickstart.html # Installation .
En un mot, je cloné le code source de GitHub et RAN python setup.py install
. Mon problème est peut-être différent du vôtre, cependant. Il n'y avait rien dans mon répertoire site-packages pour mrjob après l'exécution de pip-installer et easy_install.