Sklearn से आयात करने में आयात: नाम check_build आयात नहीं कर सकता


117

स्केलेन से आयात करने का प्रयास करते समय मुझे निम्न त्रुटि मिल रही है:

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

मैं python 2.7, scipy-0.12.0b1 सुपरपैक, numpy-1.6.0 सुपरपैक, scikit-learn-0.11 का उपयोग कर रहा हूं, मेरे पास एक विंडो 7 मशीन है

मैंने इस समस्या के लिए कई उत्तर दिए हैं, लेकिन उनमें से कोई भी इस त्रुटि से बाहर निकलने का रास्ता नहीं देता है।


वर्तमान संस्करण (0.13) के लिए scikit-learn को अपडेट करने का प्रयास करें।
एड्रिनप

अब मुझे निम्न त्रुटि हो रही है
आयुष सिंघल

ImportError: check_build के बजाय __check_build नाम आयात नहीं कर सकते
आयुष सिंघल

मैंने ०.१३ को अपडेट किया
आयुष सिंघल ने

क्या किसी के पास मेरी समस्या का हल है?
आयुष सिंघल

जवाबों:


151

चुप्पी स्थापित करने के बाद मेरे लिए काम किया।


25
इसके अलावा अजगर खोल को फिर से शुरू करना। :)
मन्नू

1
जांचें कि क्या उसी फ़ोल्डर में "स्केलेरन" नामक एक फ़ाइल है। किसी भिन्न फ़ोल्डर से चलने का प्रयास करें। मेरे (मेरे दोष) के लिए इसे हल किया। फ़ाइल खोजें <ls | grep -i "स्केलेरन">
पुनर्न्यूड

@ मन्नू हाँ; ज्यूपिटर नोटबुक पर मेरे लिए भी, बस पुनरारंभ करना (फिर से बंद करना और फिर से खुला होना) जो कि ipynb py-kernel ने ज्यूपिटर नोटबुक के सभी को पुनः आरंभ किए बिना काम किया।
अभिमन्यु कुमार

scipy.statsकाम भी नहीं किया एक त्रुटि भी उठाया। मेरे मामले में, मेरे पास multiprocessing.pyउसी निर्देशिका में एक फ़ाइल थी जिसे किसी तरह कर्नेल के सॉकेट कनेक्शन के साथ विरोध किया गया था। फ़ाइल का नाम बदलकर फिक्स्ड multiprocessing_.py(अग्रणी अंडरस्कोर काम नहीं किया)।
पाइलैंग

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

तो, बस शेल को पुनरारंभ करने का प्रयास करें!


13
इस तरह से जादू के जवाब वास्तव में मददगार नहीं हैं क्योंकि वे समस्या का समाधान नहीं करते हैं। क्या होगा अगर एक पुनरारंभ इसे ठीक नहीं करता है?
आईसीएडवाटर

3
बस यह उल्लेख करते हुए कि यह मेरे साथ हुआ, शिकंजे के साथ 0.15.2 सुन्न 1.9 और अजगर 2.7 के खिलाफ संकलित किया गया।
alexbw

2
यदि आप पुनः आरंभ नहीं करना चाहते हैं, तो del sys.modules['sklearn.__check_build']; import sklearnयह भी काम करेगा
Jared Forsyth

15

पायथन 3.6.5 64-बिट विंडोज 10 के लिए मेरा समाधान:

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

कमांड-लाइन को पुनरारंभ करने की आवश्यकता नहीं है, लेकिन आप चाहें तो ऐसा कर सकते हैं। इस बग को ठीक करने में मुझे एक दिन लग गया। उममीद है कि इससे मदद मिलेगी।


1
यदि आप अनिवार्य रूप से कह रहे हैं कि स्केलेर का नवीनतम संस्करण बग को ठीक करता है, तो यह बताना उपयोगी होगा कि आप स्केलेर के कौन से संस्करण को अपग्रेड करते हैं। धन्यवाद।
rwp

यह काम किया। धन्यवाद।
एनके अब्राम

8

स्थापित करने के बाद numpy, scipy, sklearn अभी भी त्रुटि है

उपाय:

Pathपायथन और PYTHONPATHपर्यावरण चर के लिए सिस्टम परिवर्तनीय की स्थापना

सिस्टम चर: C:\Python34पथ में जोड़ें उपयोगकर्ता चर: नया जोड़ें: (नाम) PYTHONPATH(मान)C:\Python34\Lib\site-packages;


सी पर जाएं: \ Python34 \ लिब \ साइट-संकुल \ sklearn डबल क्लिक init .py और setup.py।
user3236650

5

आमतौर पर जब मुझे इस प्रकार की त्रुटियां होती हैं, तो __init__.pyफ़ाइल को खोलना और आसपास मदद करना मदद करता है। निर्देशिका पर जाएं C:\Python27\lib\site-packages\sklearnऔर सुनिश्चित करें कि __check_buildपहले चरण के रूप में उप-निर्देशिका कहा जाता है। मेरी मशीन पर (एक काम sklearn स्थापना, मैक OSX, पायथन 2.7.3) के साथ मेरे पास है __init__.py, setup.py, उनके संबद्ध .pycफ़ाइलें, और एक द्विआधारी_check_build.so

__init__.pyउस डायरेक्टरी में इधर-उधर घूमते हुए , अगला कदम जो मैं sklearn/__init__.pyउठाऊंगा, वह है कि आयात स्टेटमेंट पर टिप्पणी करें --- चेक_बिल्ट सामान सिर्फ यह जाँचता है कि चीजें सही तरीके से संकलित की गई थीं, यह कुछ भी करने के लिए प्रकट नहीं होता है, लेकिन एक पूर्वनिर्धारित कॉल करें द्विआधारी। यह, निश्चित रूप से, आपके स्वयं के जोखिम पर है, और (सुनिश्चित होना) एक काम के आसपास। यदि आपका निर्माण विफल हो गया तो आप जल्द ही अन्य, बड़ी समस्याओं में भाग लेंगे।


मेरे पास फ़ोल्डर में _check_build.so नहीं है, मैं इसे अजगर 2.7 के लिए क्या कर सकता हूं
आयुष सिंघल

क्या आपने उस लाइन को टिप्पणी करने की कोशिश की जो इसे आयात करने की कोशिश करती है sklearn/__init__.py?
BenDundee

2
फिलहाल, आप उस लाइन को कमेंट कर सकते हैं जो आयात करती है, जो आपको चलनी चाहिए। क्या आप इसके बाद किसी समस्या को खोल सकते हैं, समस्या ट्रैकर github.com/scikit-learn/scikit-learn/issues में बग जैसा दिखता है।
एंड्रियास मुलर

2
FWIW बाहर टिप्पणी करते हुए importमें __init__.pyसमस्या ठीक नहीं होती लेकिन एक अलग त्रुटि का पर्दाफाश किया था - मेरे scipy स्थापित सफल नहीं था। प्रश्न में त्रुटि वास्तविक मुद्दे को चिह्नित कर रही थी
मूल

3

मेरे पास विंडोज पर एक ही मुद्दा था। इसे http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy से Numpy + MKL स्थापित करके हल किया गया है ( इस जवाब के रूप में सुझाए गए अन्य पैकेजों से पहले numpy + mkl स्थापित करने की सिफारिश की गई है) ।


3

मुझे python.org से पायथन 3.4 का नया 64 बिट संस्करण स्थापित करने के बाद SKLEARN आयात करने में समस्याएँ हुईं।

पता चला कि यह SCIPY मॉड्यूल था जिसे तोड़ दिया गया था, और जब मैं "scipy आयात" करने की कोशिश में विफल रहा।

समाधान scipy की स्थापना रद्द करने और इसे pip3 के साथ पुन: स्थापित करने के लिए किया गया था:

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

यदि आप एनाकोंडा 2.7 64 बिट का उपयोग करते हैं, तो प्रयास करें

conda upgrade scikit-learn

और अजगर शेल को फिर से शुरू करें, जो मेरे लिए काम करता है।

जब मैंने उसी समस्या का सामना किया तो दूसरा संपादन किया और इसे हल किया:

conda upgrade scikit-learn

मेरे लिए भी काम करता है


1

अन्य किसी भी उत्तर ने मेरे लिए काम नहीं किया। कुछ छेड़छाड़ के बाद मैंने स्केलेर को अनइंस्टॉल किया:

pip uninstall sklearn

फिर मैंने यहां से स्केलेर फ़ोल्डर हटा दिया: (आपके सिस्टम और अजगर संस्करण के लिए पथ को समायोजित करें)

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

और इसे इस साइट से पहिया से स्थापित किया गया: लिंक

त्रुटि शायद वहाँ था क्योंकि स्केरन के साथ एक संस्करण संघर्ष के कारण कहीं और स्थापित किया गया था।


1

मेरे लिए, मैं नवीनतम अजगर संस्करण (3.7) के साथ नए से एनाकोंडा स्थापित करके मौजूदा सेटअप को नए सेटअप में अपग्रेड कर रहा था।

from sklearn import cross_validation, 
from sklearn.grid_search import GridSearchCV

सेवा

from sklearn.model_selection import GridSearchCV,cross_validate

1

स्थापना रद्द करने और फिर स्केलेन को फिर से स्थापित करने की आवश्यकता नहीं है

इसे इस्तेमाल करे:

from sklearn.model_selection import train_test_split

0

मुझे एक ही समस्या थी एनाकोंडा को फिर से स्थापित करने से मेरे लिए समस्या हल हो गई


-1

खिड़कियों में:

मैंने शेलर से शेलर को हटाने की कोशिश की: पाइप स्कैलर को अनइंस्टॉल करें, और इसे फिर से स्थापित करें लेकिन काम नहीं करता है।

समाधान:

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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.