Python-Modul Importieren Fehler “ImportError: No module named mrjob.job"
System: Mac OSX 10.6.5, Python 2.6
Ich versuche, führen Sie das python-Skript unter:
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()
Bekomme ich die folgende Fehlermeldung:
:~ 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
Hatte ich easy_install etwa so:
sudo easy_install mrjob
Dieser Befehl heruntergeladen die benötigt werden .ei Datei, und meine site-packages Verzeichnis für python sieht so aus:
:~ 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
Ich bin nicht sicher, was hier zu tun ist, wie ich bin, etwas neues zu python; jede Hilfe wäre sehr geschätzt werden. Danke!
- gut jedes Ding schaut gut aus von hier, es sei denn, Sie führen Sie das Skript mit python nicht version 2.6 , tun Sie dies in Ihrem script in den ersten Zeilen vor dem import; import sys; print sys.Pfad dies wird Ihnen den PYTHONPATH, von wo aus python suchen die Pakete
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zwei Vorschläge:
Stellen Sie sicher, dass Sie nicht über eine Datei-oder Verzeichnis-Berechtigungen Probleme für die installierte Eier und Dateien in der
site-packages
Verzeichnis.Wenn Sie installiert haben, zu einer anderen Instanz von Python 2.6 (außer die von Apple bereitgestellten eine in
/usr/bin/python2.6
), stellen Sie sicher, dass Sie installiert haben eine separate version voneasy_install
für Sie. Wie die Ausgabe angibt, dass es war sicherlich auch installiert mit dem von Apple mitgelieferteneasy_install
im/usr/bin
ist für die von Apple mitgelieferten Python. Der einfachste Weg, dies zu tun ist durch die Installation des Verteilen - Paket mit dem neuen Python.Ich hatte das gleiche problem, ich habe versucht
pip install mrjob
,sudo easy_install mrjob
. Es sah aus wie es erfolgreich installiert, aber wenn ich lief ein einfaches Beispiel-Skript, ich habe die import-Fehler.Ich habe es zu arbeiten, indem Sie die folgenden Anweisungen an: http://pythonhosted.org//mrjob/guides/quickstart.html#installation.
Kurz gesagt, ich geklonte den source-code von github und lief
python setup.py install
. Mein problem könnte sein, Verschieden von Ihnen, obwohl. Es war nichts in meinem site-packages Verzeichnis für mrjob nach dem ausführen pip-installieren und easy_install.