Curso
Scikit-learn
A biblioteca Python, muitas vezes abreviada como sklearn
, é uma biblioteca Python amplamente usada para tarefas de análise e modelagem de dados, incluindo machine learning. No entanto, os novos usuários que estão ansiosos para experimentar o sklearn
podem ficar frustrados quando se deparam com uma mensagem de erro desconhecida que não é fácil de solucionar.
Este tutorial explorará a correção da mensagem de erro No module named 'sklearn'
para que você possa voltar ao caminho certo usando a extensa coleção de algoritmos e ferramentas do sklearn para análise e modelagem de dados. No processo, também aprenderemos habilidades mais gerais para solucionar problemas de instalação de pacotes, o que nos tornará programadores Python mais fortes. Para se atualizar sobre o pacote scikit-learn
, você pode consultar nossa Folha de dicas do Scikit-Learn antes de começarmos.
Entendendo a mensagem de erro No module named 'sklearn' em Python
Vamos dar uma olhada na imagem a seguir. Aqui, tentamos importar sklearn
e recebemos uma exceção ModuleNotFoundError
.
ModuleNotFoundError no ambiente Python
Como podemos deduzir pelo nome, ModuleNotFoundError
é um tipo específico de ImportError
que indica que o Python não consegue encontrar um módulo específico. Nesse caso, o módulo é sklearn
, mas poderia ter sido qualquer módulo, como numpy
ou pandas
.
Em nossa Introdução à ciência de dados em Python, você encontrará lições com muitos exemplos de como importar e trabalhar com módulos como numpy
.
Causas comuns da mensagem de erro ModuleNotFoundError do Python
Você pode encontrar a mensagem de erro No module named 'sklearn'
por vários motivos comuns. Entre eles, os principais são:
-
O Sklearn não está instalado: A causa mais comum desse erro é que o
scikit-learn
não está instalado em nosso ambiente Python. -
Instalação incorreta: Às vezes, o
scikit-learn
pode estar instalado, mas não corretamente, o que causa problemas na importação dos módulos da biblioteca. -
Configuração do ambiente ou problemas com o caminho do Python: Isso acontece com mais frequência quando você trabalha em um ambiente virtual ou usa um interpretador Python diferente.
Felizmente, ao adotar uma abordagem passo a passo, provavelmente resolveremos nosso problema. Vamos continuar.
Solução de problemas da mensagem de erro ModuleNotFoundError do Python
Verificar a instalação do scikit-learn
A primeira etapa para solucionar o erro é garantir que o scikit-learn
esteja instalado corretamente em nosso ambiente Python. Você pode fazer isso executando o seguinte comando em seu terminal ou prompt de comando:
py -m pip list
Isso produz uma lista alfabética de todas as bibliotecas instaladas em nosso ambiente Python. Percorremos nossa lista e nos certificamos de que scikit-learn
está nela.
de lista de pacotes instalados
Se, depois de percorrer a lista, descobrirmos que o scikit-learn
não está instalado, poderemos instalá-lo usando o comando pip
ou conda
, dependendo do ambiente:
pip install scikit-learn
conda install scikit-learn
Para obter mais informações sobre o uso de gerenciadores de pacotes, como o pip
, confira nosso Tutorial do Pip Python para gerenciamento de pacotes.
Reinicie o kernel do Python
Se estivermos trabalhando em um Jupyter Notebook ou em um IDE como o Spyder, o próximo passo é considerar a possibilidade de reiniciar o kernel do Python. Fazemos isso porque sabemos que, mesmo que tenhamos instalado ou reinstalado recentemente o site scikit-learn
, a alteração pode não estar disponível imediatamente em nossa sessão interativa atual. Reiniciar o kernel recarrega o ambiente e os caminhos da biblioteca. Essa é uma etapa fácil e essencial que pode corrigir todos os tipos de erros.
Reiniciando our Jupyter kernel
Verifique as variáveis de ambiente e o caminho do Python
Em seguida, precisamos garantir que nosso ambiente Python esteja configurado corretamente para localizar o pacote scikit-learn
. Essa etapa é crucial porque ajuda a garantir que o Python procure os diretórios corretos para o nosso pacote scikit-learn
instalado.
Aqui, verificamos a variável de ambiente PYTHONPATH
para garantir que ela inclua o diretório em que o scikit-learn
está instalado. Você pode fazer isso executando o seguinte comando em nosso script ou interpretador Python:
import sys
print(sys.path)
Executando import sys
seguido de print(sys.path)
, podemos ver os diretórios que o Python está verificando no momento. Se o caminho para o diretório em que scikit-learn
está instalado não estiver em nossa lista, o Python não conseguirá encontrar e importar scikit-learn
.
Finalmente, podemos verificar se o interpretador Python que está sendo usado corresponde ao ambiente em que scikit-learn
está instalado. Siga nosso tutorial detalhado para saber como configurar um ambiente de ciência de dados em seu computador.
Reinstalar o scikit-learn
Se tudo o mais falhar, considere a possibilidade de reinstalar o site scikit-learn
para resolver possíveis problemas com a instalação. É possível que o arquivo tenha sido corrompido durante o processo de download ou instalação devido a problemas de rede, interrupções ou erros de disco. Também é possível que tenha havido conflitos de dependência de instalações anteriores.
Você pode desinstalar o scikit-learn usando pip
ou conda
e depois reinstalá-lo para garantir uma instalação limpa.
pip uninstall scikit-learn
pip install scikit-learn
conda uninstall scikit-learn
conda install scikit-learn
Verificação da instalação e da configuração do ambiente
Como etapa final, quando acreditarmos que resolvemos o problema No module named 'sklearn' error
, talvez queiramos verificar se o scikit-learn
está instalado corretamente e se o nosso ambiente está configurado adequadamente, para que você fique tranquilo.
Podemos fazer isso importando o scikit-learn
em um script ou interpretador Python e verificando se há erros de importação.
import sklearn
print(sklearn.__version__)
Se não encontrarmos nenhum erro, o scikit-learn
deverá estar instalado corretamente e você poderá começar a usá-lo em seus projetos de machine learning!
Conclusão
Encontrar o erro No module named 'sklearn'
pode ser frustrante, mas com as etapas corretas de solução de problemas, podemos resolvê-lo rapidamente e voltar às nossas tarefas de machine learning.
Recomendo que você aprenda mais sobre a teoria subjacente do machine learning e alguns modelos comuns, como k-means clustering, regressão logística ou svm. Você também pode aprender algumas práticas recomendadas de codificação para evitar mensagens de erro mais frustrantes no futuro.