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.


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.


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!


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.


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;


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.


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
>>>

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


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.


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

1

sklearn muss nicht deinstalliert und anschließend neu installiert werden

Versuche dies:

from sklearn.model_selection import train_test_split

0

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


-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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.