ImportError beim Importieren aus sklearn: Name check_build kann nicht importiert werden

117

Beim Importieren aus sklearn wird folgende Fehlermeldung angezeigt:

>>> from sklearn import svm

Traceback (most recent call last):
  File "<pyshell#17>", line 1, in <module>
   from sklearn import svm
  File "C:\Python27\lib\site-packages\sklearn\__init__.py", line 16, in <module>
   from . import check_build
ImportError: cannot import name check_build

Ich benutze Python 2.7, Scipy-0.12.0b1 Superpack, Numpy-1.6.0 Superpack, Scikit-Learn-0.11 Ich habe eine Windows 7-Maschine

Ich habe mehrere Antworten auf dieses Problem überprüft, aber keine davon gibt einen Ausweg aus diesem Fehler.

Ayush Singhal
quelle
Versuchen Sie, scikit-learn auf die aktuelle Version (0.13) zu aktualisieren.
Adrianp
Jetzt
erhalte
ImportError: Name __check_build kann nicht anstelle von check_build importiert werden
Ayush Singhal
Ich habe ein Update auf Scikit 0.13
Ayush Singhal
Hat jemand eine Lösung für mein Problem?
Ayush Singhal

Antworten:

151

Arbeitete für mich nach der Installation von scipy.

Sawan
quelle
25
Außerdem wird die Python-Shell neu gestartet. :)
Mannu
1
Überprüfen Sie, ob sich im selben Ordner eine Datei mit dem Namen "sklearn" befindet. Versuchen Sie, aus einem anderen Ordner auszuführen. Hat es für mich gelöst (meine Schuld). Datei mit <ls | suchen grep -i "sklearn">
Punnerud
@ Mannu Ja; Auch für mich auf jupyter notebook, nur Neustart (Herunterfahren und erneutes Klicken), dass ipynb py-kernel funktionierte, ohne das gesamte jupyter Notebook neu zu starten.
Abhimanu Kumar
scipy.statshat auch nicht funktioniert hat auch einen fehler ausgelöst. In meinem Fall hatte ich eine Datei multiprocessing.pyim selben Verzeichnis, die irgendwie mit der Socket-Verbindung des Kernels in Konflikt stand. Durch Umbenennen der Datei multiprocessing_.pybehoben (führender Unterstrich funktionierte nicht).
Pylang
47
>>> from sklearn import preprocessing, metrics, cross_validation

Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    from sklearn import preprocessing, metrics, cross_validation
  File "D:\Python27\lib\site-packages\sklearn\__init__.py", line 31, in <module>
    from . import __check_build
ImportError: cannot import name __check_build
>>> ================================ RESTART ================================
>>> from sklearn import preprocessing, metrics, cross_validation
>>> 

Versuchen Sie einfach, die Shell neu zu starten!

Gurupad Hegde
quelle
13
Solche magischen Antworten sind nicht wirklich hilfreich, weil sie das Problem nicht lösen. Was ist, wenn ein Neustart das Problem nicht behebt?
Eiswasser
3
Ich erwähne nur, dass mir dies mit scikit-learn 0.15.2 passiert ist, das gegen numpy 1.9 und python 2.7 kompiliert wurde.
Alexbw
2
Wenn Sie nicht neu starten möchten, del sys.modules['sklearn.__check_build']; import sklearnwird auch funktionieren
Jared Forsyth
14

Meine Lösung für Python 3.6.5 64-Bit Windows 10:

  1. pip uninstall sklearn
  2. pip uninstall scikit-learn
  3. pip install sklearn

Sie müssen die Befehlszeile nicht neu starten, aber Sie können dies tun, wenn Sie möchten. Ich habe einen Tag gebraucht, um diesen Fehler zu beheben. Ich hoffe das hilft.

Loitd
quelle
1
Wenn Sie im Wesentlichen sagen, dass die neueste Version von sklearn den Fehler behebt, ist es hilfreich anzugeben, auf welche Versionsnummern von sklearn Sie aktualisieren. Vielen Dank.
rwp
Das hat funktioniert. Danke dir.
nk abram vor
8

Nach der Installation numpy, scipy, sklearn hat immer noch Fehler

Lösung:

Einrichten der PathSystemvariablen für Python und die PYTHONPATHUmgebungsvariable

Systemvariablen: C:\Python34In Pfad hinzufügen Benutzervariablen: Neu hinzufügen: (Name) PYTHONPATH(Wert)C:\Python34\Lib\site-packages;

user3236650
quelle
Gehen Sie zu C: \ Python34 \ Lib \ site-packages \ sklearn. Doppelklicken Sie auf init .py und setup.py.
user3236650
5

Wenn ich solche Fehler erhalte, __init__.pyhilft es normalerweise, die Datei zu öffnen und herumzustöbern. Gehen Sie zum Verzeichnis C:\Python27\lib\site-packages\sklearnund stellen Sie sicher, dass ein Unterverzeichnis vorhanden ist, das __check_buildals erster Schritt aufgerufen wird . Auf meinem Rechner (mit einem Arbeits sklearn Installation, Mac OSX, Python 2.7.3) Ich habe __init__.py, setup.pyihre zugehörigen .pycDateien und eine binäre _check_build.so.

Wenn __init__.pyich mich in diesem Verzeichnis umschaue , gehe ich als Nächstes sklearn/__init__.pyzu der import-Anweisung und kommentiere sie aus. Das check_build-Zeug prüft nur, ob die Dinge korrekt kompiliert wurden. Es scheint nichts anderes zu tun, als eine vorkompilierte Anweisung aufzurufen binär. Dies geschieht natürlich auf eigenes Risiko und (um sicher zu sein) umgangen. Wenn Ihr Build fehlschlägt, werden Sie wahrscheinlich bald auf andere, größere Probleme stoßen.

BenDundee
quelle
Ich habe _check_build.so nicht im Ordner. Was kann ich tun, um dies für Python 2.7 zu bekommen
Ayush Singhal
Haben Sie versucht, die Zeile auskommentieren, in die sie importiert werden soll sklearn/__init__.py?
BenDundee
2
Im Moment können Sie die Zeile auskommentieren, die den Import ausführt und die Sie zum Laufen bringen soll. Können Sie dann bitte ein Problem im Issue-Tracker öffnen? Github.com/scikit-learn/scikit-learn/issues sieht aus wie ein Fehler.
Andreas Mueller
2
FWIW Kommentar aus dem importin __init__.pydas Problem nicht beheben , aber einen anderen Fehler ausgesetzt hat - mein scipy nicht gelungen Installation hat. Der Fehler in der Frage war das Maskieren des eigentlichen Problems
Basic
3

Ich hatte Probleme beim Importieren von SKLEARN, nachdem ich eine neue 64-Bit-Version von Python 3.4 von python.org installiert hatte.

Es stellte sich heraus, dass das SCIPY-Modul defekt war und auch fehlgeschlagen ist, als ich versuchte, "scipy zu importieren".

Die Lösung bestand darin, scipy zu deinstallieren und mit pip3 neu zu installieren:

C:\> pip uninstall scipy

[lots of reporting messages deleted]

Proceed (y/n)? y
  Successfully uninstalled scipy-1.0.0

C:\Users\>pip3 install scipy

Collecting scipy
  Downloading scipy-1.0.0-cp36-none-win_amd64.whl (30.8MB)
    100% |████████████████████████████████| 30.8MB 33kB/s
Requirement already satisfied: numpy>=1.8.2 in c:\users\johnmccurdy\appdata\loca
l\programs\python\python36\lib\site-packages (from scipy)
Installing collected packages: scipy
Successfully installed scipy-1.0.0

C:\Users>python
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)]
 on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import scipy
>>>
>>> import sklearn
>>>
John McCurdy
quelle
2

Wenn Sie Anaconda 2.7 64 Bit verwenden, versuchen Sie es

conda upgrade scikit-learn

und starten Sie die Python-Shell neu, die für mich funktioniert.

Zweite Bearbeitung, als ich vor dem gleichen Problem stand und es löste:

conda upgrade scikit-learn

funktioniert auch bei mir

Statham
quelle
1

Keine der anderen Antworten hat bei mir funktioniert. Nach einigem Basteln habe ich sklearn deinstalliert:

pip uninstall sklearn

Dann habe ich den Ordner sklearn von hier entfernt: (Passen Sie den Pfad zu Ihrer System- und Python-Version an.)

C:\Users\%USERNAME%\AppData\Roaming\Python\Python36\site-packages

Und das installierte es vom Rad von dieser Seite: Link

Der Fehler war wahrscheinlich auf einen Versionskonflikt mit sklearn zurückzuführen, der an einer anderen Stelle installiert wurde.

chross
quelle
1

Für mich habe ich den vorhandenen Code in ein neues Setup aktualisiert, indem ich Anaconda von Fresh mit der neuesten Python-Version (3.7) installiert habe.

from sklearn import cross_validation, 
from sklearn.grid_search import GridSearchCV

zu

from sklearn.model_selection import GridSearchCV,cross_validate
Siddaram H.
quelle
1

sklearn muss nicht deinstalliert und anschließend neu installiert werden

Versuche dies:

from sklearn.model_selection import train_test_split
Cathrine
quelle
0

Ich hatte das gleiche Problem Die Neuinstallation von Anaconda löste das Problem für mich

Mubashar Nazar
quelle
-1

In Fenstern:

Ich habe versucht, sklearn aus der Shell zu löschen: pip deinstalliere sklearn und installiere es erneut, aber es funktioniert nicht.

die Lösung:

1- open the cmd shell.
2- cd c:\pythonVERSION\scripts
3- pip uninstall sklearn
4- open in the explorer: C:\pythonVERSION\Lib\site-packages
5- look for the folders that contains sklearn and delete them ..
6- back to cmd: pip install sklearn
Ghanem
quelle