2014-11-14 3 views
14

ich ein ipython Notebook haben, die mitModul nicht auf ipython Notebook gefunden

beginnt
import sklearn 

Wenn ich es laufen, erhalte ich:

ImportError: No module named sklearn 

in der Tat, wenn ich den folgenden Ausschnitt auf dem Notebook laufen, es ist nicht zeigt scikit_learn:

import pip 
installed_packages = pip.get_installed_distributions() 
installed_packages_list = sorted(["%s==%s" % (i.key, i.version) 
    for i in installed_packages]) 
print installed_packages_list 

Allerdings, wenn ich die Schnipsel aus Befehlszeile ausführen, scikit_learn in der Liste ist.

Ich dachte an eine Version Problem (Modul für eine Version installiert und nicht auf der anderen), bur sowohl auf Notebook und Befehlszeile, sys.version hier Jede Idee, über die Ausgabe 2.7.5

geben?

Nach cel Kommentare:

ipython -c "import sys; print(sys.executable)" 

Ausgänge/usr/bin/python (und so import sys; print(sys.executable) direkt in das Notebook nicht läuft)

Dann /usr/bin/python -m pip install scikit-learn Ausgänge: Voraussetzung bereits erfüllt ist (Einsatz - upgrade auf upgraden): scikit-learn in/Users/MyUserName

+1

Um "scikit-learn" in 'ipython' verfügbar zu machen, müssen Sie' scikit-learn' mit der richtigen 'pip'-Programmdatei installieren. Ich würde folgendes versuchen: 'ipython -c" import sys; print (sys.executable) "'. Dies sollte einen Pfad zu einem Python-Interpreter ausgeben. Dann sollten Sie diesen Interpreter verwenden und '' Pfad zum Interpreter '' -m pip install scikit-learn' aufrufen, um Ihr Problem zu lösen. – cel

+0

aber 'ipython -c" import sklearn "' gibt Ihnen einen Fehler? – cel

+0

Nein, es scheint nicht zu funktionieren. Wenn Sie jedoch ein neues Notebook starten und "import sklearn" ausführen, wird ein ImportError ausgelöst. –

Antwort

0

Ist es möglich, dass/usr/bin/python eigentlich ein Symlink ist?

Die bessere Lösung ist, dass Sie Ihr ipython-Notebook von einem virtualenv ausführen, das alle benötigten Module enthält.

4

konnte ich diesen Fehler auf Ubuntu beheben, indem eine Zelle auf die Oberseite des Notebooks Hinzufügen des Modulverzeichnis auf den Pfad anhängt:

import sys 
sys.path.append('/usr/lib/python2.7/dist-packages') 

Der Pfad kann hinzufügen gefunden werden, wenn pip install <something> ausgeführt wird, (wie z. B. numpy) und gibt an, wo jedes Paket installiert ist oder bereits existiert.