Ana içeriğe geç

Python’da No module named 'sklearn' Hata İletisini Giderme

ModuleNotFoundError: No module named 'sklearn' istisnasını ayrıntılı ve kolay takip edilen çevrimiçi rehberimizle nasıl hızla düzelteceğinizi öğrenin.
· 5 dk. oku

Yapay Zeka ile Keşfedin

Scikit-learn, kısaca sklearn olarak anılan, makine öğrenmesi dâhil veri analizi ve modelleme görevleri için yaygın olarak kullanılan bir Python kitaplığıdır. Ancak, sklearn’ı denemek isteyen yeni kullanıcılar, çözmesi kolay olmayan, alışılmadık bir hata iletisiyle karşılaştıklarında hayal kırıklığına uğrayabilirler.

Bu eğitimde, No module named 'sklearn' hata iletisini nasıl düzelteceğimizi inceleyerek sklearn’in veri analizi ve modelleme için sunduğu kapsamlı algoritma ve araç koleksiyonunu kullanmaya geri döneceğiz. Bu süreçte, paket kurulumlarını sorun gidermeye yönelik daha genel beceriler de edinerek Python programcıları olarak kendimizi geliştireceğiz. scikit-learn paketiyle ilgili kısa bir hatırlatmaya ihtiyacınız olursa başlamadan önce Scikit-Learn Cheat Sheet içeriğimize göz atabilirsiniz.

Python’da No module named 'sklearn' Hata İletisini Anlama

Aşağıdaki görsele bakalım. Burada sklearn paketini içe aktarmayı denedik ve bir ModuleNotFoundError istisnası aldık.

Python ortamında örnek: ModuleNotFoundError: No module named 'sklearn'Python ortamında ModuleNotFoundError


Adından da anlaşılacağı üzere ModuleNotFoundError, Python’ın belirli bir modülü bulamadığını belirten, ImportError’ın özel bir türüdür. Bu durumda modül sklearn’dir; ancak modül numpy veya pandas gibi başka bir modül de olabilirdi.

Bizim Introduction to Data Science in Python kursumuzda numpy gibi modüllerin nasıl içe aktarılacağı ve onlarla nasıl çalışılacağına ilişkin birçok örnek yer almaktadır.  

Python ModuleNotFoundError İletisinin Yaygın Nedenleri

No module named 'sklearn' hata iletisiyle birkaç yaygın nedenle karşılaşabilirsiniz. Başlıcaları şunlardır: 

  • Sklearn kurulu değil: Bu hatanın en yaygın nedeni, Python ortamımıza scikit-learn’ün kurulu olmamasıdır.

  • Hatalı kurulum: Bazen scikit-learn kurulu olsa bile doğru kurulmamış olabilir ve bu da kitaplık modüllerini içe aktarırken sorunlara yol açabilir.

  • Ortam yapılandırması veya Python yolu sorunları: Bu durum en çok sanal bir ortamda çalışırken veya farklı bir Python yorumlayıcı kullanıldığında ortaya çıkar.

Neyse ki, adım adım ilerleyerek sorunumuzu büyük olasılıkla çözeceğiz. Devam edelim. 

Python ModuleNotFoundError Hata İletisini Giderme

scikit-learn kurulumunu doğrulayın

Hatanın giderilmesindeki ilk adım, scikit-learn’ün Python ortamımıza doğru şekilde kurulduğundan emin olmaktır. Bunu, terminalimizde veya komut isteminde aşağıdaki komutu çalıştırarak yapabiliriz:

py -m pip list

Bu, Python ortamımızda kurulu olan tüm kitaplıkların alfabetik bir listesini üretir. Listemizi kaydırıp scikit-learn’ün mevcut olduğundan emin oluruz.

pip kullanılarak Visual Studio Code’da keşfedilen, kurulu Python paketlerinin örnek listesiKurulu paketlerin örnek listesi


Listemizi inceledikten sonra scikit-learn’ün kurulu olmadığını fark edersek, ortamımıza bağlı olarak pip veya conda komutlarıyla kurabiliriz:

pip install scikit-learn
conda install scikit-learn

pip gibi paket yöneticilerini kullanma hakkında daha fazla bilgi için Paket Yönetimi için Pip Python Eğitimi içeriğimize göz atın. 

Python çekirdeğini yeniden başlatın

Bir Jupyter Notebook veya Spyder gibi bir IDE’de çalışıyorsak, bir sonraki adım olarak Python çekirdeğimizi yeniden başlatmayı düşünmeliyiz. Bunu, yakın zamanda scikit-learn’ü kurmuş veya yeniden kurmuş olsak bile değişikliğin mevcut etkileşimli oturumumuzda hemen kullanılabilir olmayabileceğini bildiğimiz için yaparız. Çekirdeği yeniden başlatmak, ortamı ve kitaplık yollarını yeniden yükler. Her türlü hatayı düzeltebilen kolay ve temel bir adımdır.

Visual Studio Code’a Python Jupyter çekirdeğimizi yeniden başlatmaJupyter çekirdeğimizi yeniden başlatma

Ortam değişkenlerini ve Python yolunu kontrol edin

Sırada, Python ortamımızın scikit-learn paketini bulacak şekilde doğru yapılandırıldığından emin olmalıyız. Bu adım kritik öneme sahiptir; çünkü Python’ın kurulu scikit-learn paketimizi aramak için doğru dizinleri yokladığından emin olmamıza yardımcı olur.

Burada, PYTHONPATH ortam değişkenini kontrol ederek scikit-learn’ün kurulu olduğu dizini içerdiğinden emin oluruz. Bunu, Python betiğimizde veya yorumlayıcısında aşağıdaki komutu çalıştırarak yapabiliriz:

import sys
print(sys.path)

import sys komutunun ardından print(sys.path) çalıştırarak Python’ın şu anda kontrol ettiği dizinleri görebiliriz. scikit-learn’ün kurulu olduğu dizinin yolu listemizde yoksa Python scikit-learn’ü bulup içe aktaramaz.

Son olarak, kullanılan Python yorumlayıcısının scikit-learn’ün kurulu olduğu ortamla eşleştiğini doğrulayabiliriz. Bilgisayarınızda Veri Bilimi Ortamı Nasıl Kurulur başlıklı ayrıntılı eğitimimizi izleyin. 

scikit-learn’ü yeniden kurun

Diğer her şey başarısız olursa, kurulumla ilgili olası sorunları gidermek için scikit-learn’ü yeniden kurmayı düşünün. Dosya, ağ sorunları, kesintiler veya disk hataları nedeniyle indirme ya da kurulum sırasında bozulmuş olabilir. Ayrıca önceki kurulumlardan kalan bağımlılık çakışmaları da yaşanmış olabilir.

Temiz bir kurulum sağlamak için scikit-learn’ü pip veya conda ile kaldırıp ardından yeniden kurabiliriz. 

pip uninstall scikit-learn

pip install scikit-learn
conda uninstall scikit-learn

conda install scikit-learn

Kurulumu ve Ortam Yapılandırmasını Doğrulama

Son adım olarak, No module named 'sklearn' error sorununu çözdüğümüze inandığımızda, içinizin rahat etmesi adına scikit-learn’ün doğru kurulduğunu ve ortamımızın düzgün yapılandırıldığını doğrulamak isteyebiliriz.

Bunu, bir Python betiğinde veya yorumlayıcısında scikit-learn’ü içe aktararak ve içe aktarma hatası olup olmadığını kontrol ederek yapabiliriz.

import sklearn

print(sklearn.__version__)

Herhangi bir hatayla karşılaşmazsak scikit-learn doğru şekilde kurulmuş olmalıdır ve onu makine öğrenmesi projelerinizde kullanmaya başlayabilirsiniz!

Sonuç

No module named 'sklearn' hatasıyla karşılaşmak sinir bozucu olabilir; ancak doğru sorun giderme adımlarıyla bu hatayı hızla çözerek makine öğrenmesi görevlerinize geri dönebilirsiniz. 

Sizi, makine öğrenmesinin temel kuramı ve k-means kümeleme, lojistik regresyon ya da svm gibi bazı yaygın modeller hakkında daha fazla bilgi edinmeye davet ediyorum. Ayrıca, ileride daha can sıkıcı hata iletilerinden kaçınmak için bazı kodlama en iyi uygulamalarını da öğrenebilirsiniz.

Amberle McKee

Yazar

Amberle McKee

Biyolojik araştırma ortamında verilerle çalışma konusunda 13 yıllık deneyime sahip bir doktora sahibiyim. Python, MATLAB ve R dahil olmak üzere birkaç programlama dilinde yazılım geliştiriyorum. Öğrenme sevgimi dünyayla paylaşma konusunda tutkuluyum.

Konular

İlgili