Ich habe ein Problem Import scikit-learn
in meiner Jupyter Notebooks, und ich bin ratlos gefunden, warum dies nicht funktioniert. Ich kann mich nicht erinnern, dieses Problem zuvor mit anderen Paketen gehabt zu haben. Ich habe mehrere Threads mit Leuten gesehen, die ähnliche Probleme mit diesem spezifischen Modul haben, aber keiner der vorgeschlagenen Checks hat mein Problem gelöst und mir auch nicht aufgezeigt, was falsch sein könnte. Ich habe versucht, so viele Informationen wie möglich hinzuzufügen, um herauszufinden, warum dies nicht funktioniert.Fehler: Modul nicht in Jupyter Notebook (sklearn)
ich anaconda verwende meine Pakete zu verwalten, und scikit-learn
installiert wurden wie folgt:
source activate python3
conda install scikit-learn
Fetching package metadata .............
Solving package specifications: .
# All requested packages already installed.
# packages in environment at /Users/overaa/anaconda/envs/python3:
#
scikit-learn 0.19.1 py36hffbff8c_0
Nun, wenn ich eine Python-Sitzung direkt von der Kommandozeile starten, import sklearn
funktioniert wie vorgesehen und das Modul importiert korrekt . Dadurch könnte die gleiche in Jupyter Ergebnisse in
ModuleNotFoundError: No module named 'sklearn'
Ich habe eine Reihe von Dingen überprüft. Stellen Sie zuerst sicher, dass mein Jupiter- und Jupiter-Notizbuch auf die richtige Umgebung zeigt
which jupyter
/Users/overaa/anaconda/envs/python3/bin/jupyter
which jupyter-notebook
/Users/overaa/anaconda/envs/python3/bin/jupyter-notebook
So das Notebook auscheckt.
dann aus einer Befehlszeile Python-Sitzung (in der gleichen Umgebung wie, wo ich mein Notebook starten):
>>> import sklearn
>>> sklearn.__file__
'/Users/overaa/anaconda/envs/python3/lib/python3.6/site_packages/sklearn/__init__.py'
So scikit-learn
ist auch in der richtigen Umgebung installiert.
Jetzt vergleichen, dass ich die gleiche Version leite;
von der Kommandozeile:
>>> print(sys.version)
3.6.1 |Continuum Analytics, Inc.| (default, May 11 2017, 13:04:09)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)]
Von Jupyter Notebook:
print(sys.version)
3.6.1 |Continuum Analytics, Inc.| (default, May 11 2017, 13:04:09
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)]
die Pakete Pfad Vergleich.
von der Kommandozeile:
import site
print(site.getsitepackages())
['/Users/overaa/anaconda/envs/python3/lib/python3.6/site-packages']
Von Jupyter Notebook:
import site
print(site.getsitepackages())
['/Users/overaa/anaconda/envs/python3/lib/python3.6/site-packages']
Ebenso für meine sys.path
Befehlszeile:
>>> print(sys.path)
['', '/Users/overaa/anaconda/envs/python3/lib/python36.zip',
'/Users/overaa/anaconda/envs/python3/lib/python3.6',
'/Users/overaa/anaconda/envs/python3/lib/python3.6/lib-dynload',
'/Users/overaa/anaconda/envs/python3/lib/python3.6/site-packages',
'/Users/overaa/anaconda/envs/python3/lib/python3.6/site_packages/setuptools-27.2.0-py3.6.egg']
Jupyter:
print(sys.path)
['', '/Users/overaa/anaconda/envs/python36/lib/python36.zip',
'/Users/overaa/anaconda/envs/python36/lib/python3.6',
'/Users/overaa/anaconda/envs/python36/lib/python3.6/lib-dynload',
'/Users/overaa/anaconda/envs/python36/lib/python3.6/site-packages',
'/Users/overaa/anaconda/envs/python36/lib/python3.6/site-packages/setuptools-27.2.0-py3.6.egg',
'/Users/overaa/anaconda/envs/python36/lib/python3.6/site-packages/IPython/extensions',
'/Users/overaa/.ipython']
So ist alles gleich, mit der Ausnahme, dass das Verzeichnis mit den setuptools
zwischen der Befehlszeilenversion und der Jupyter Version unterscheiden. Ich habe auch bemerkt, dass scikit-learn
scheint in dem site_packages
subdir installiert werden, anstatt in dem site-packages
Unterverzeichnis, das ist, wo Jupyter für Module zu suchen scheinen. Also habe ich zwei Dinge ausprobiert. Fügen Sie zuerst den Pfad zu meinem JUPYTER_PATH
in meinem .bash_profile hinzu, bevor Sie mein Notebook starten.
export JUPYTER_PATH="/Users/overaa/anaconda/envs/python36/lib/python3.6/site-packages:$JUPYTER_PATH"
Ich habe auch versucht, es zu meinem sys.path
direkt im jupyter Notebook hinzufügen, vor dem Versuch, scikit-learn
sys.path.append("/Users/overaa/anaconda/envs/python3/lib/python3.6/site_packages")
Beide ohne Erfolg zu importieren, weigert sich sklearn
noch in mein Notizbuch zu importieren.
Irgendwelche Ideen, warum scikit-learn
nicht in mein Jupyter Notizbuch importiert wird, würden sehr geschätzt werden. Gibt es mehr Dinge, die ich überprüfen kann? Und wie bekomme ich das zur Arbeit?
Ich habe versucht, meine Umgebung zu aktivieren/deaktivieren, starten Sie die Kernel usw. auch ohne Erfolg.
EDIT: Ich habe keine Probleme, die andere Pakete importieren, wie numpy
oder scipy
Was ist mit anderen Bibliotheken wie numpy - können Sie sie importieren? – kazemakase
Ja, das ist kein Problem –