尽管pip或pip3都显示sklearn已安装,但没有名为“ sklearn”的模块错误

时间:2018-07-12 20:03:18

标签: python python-3.x scikit-learn jupyter-notebook pyenv

我今天在pyenv上尝试了一下,尝试安装某个python版本以及sklearn以用于数据科学,但看来我已经破解了-我无法导入sklearn,尽管当我尝试使用sklearn安装时pip3 / pip,我得到的消息表明sklearn已经安装。

当前情况 在Jupyter笔记本电脑上,

import sklearn

显示“没有名为'sklearn'的模块错误”。但是当我尝试使用

安装sklearn时
!pip3 install sklearn

它显示

Requirement already satisfied: sklearn in /usr/local/var/pyenv/versions/3.6.5/lib/python3.6/site-packages (0.0)

Requirement already satisfied: scikit-learn in /usr/local/var/pyenv/versions/3.6.5/lib/python3.6/site-packages (from sklearn) (0.19.1)

我也尝试在supyter笔记本之外安装sklearn,并且消息相同。

我今天早些时候所做的事情 -我的Mac(High Sierra)已经安装了python 2.7,但是我需要python 3,因此我首先使用

安装了python3
brew install python3
  • 我安装了jupyter笔记本
  • 在jupyter笔记本上,我尝试使用

    !pip3安装sklearn

安装sklearn,但出现了一些错误,通过在线研究,我发现sklearn似乎不支持最新的python 3.7。 -在尝试获取旧版本的python之前,我卸载了Python3以及Jupyter Notebook -我尝试使用brew获取旧版本的python,但在网上发现brew无法轻松安装以前的版本,因此根据一些在线帖子(实际上没有很好地理解),我安装了pyenv。 -在pyenv中,我安装了python 2.6.5

pyenv install 2.6.5
  • 我将2.6.5设置为全局python版本

    pyenv全局2.6.5

  • 我再次安装了jupyter笔记本(也许我也同时安装了ipython),这似乎取决于python 3.7,因此从日志中安装了python 3.7(这不是我想要的)

  • 我忽略了已安装python 3.7的事实,事实上,pyenv根本不显示python 3.7(因此pyenv版本仅显示系统和python 3.6.5)
  • 我再次安装了sklearn
  • 我这样做

    pip3安装sklearn

它表明已安装sklearn) -但是,当我尝试导入sklearn时,它显示未找到模块。

有什么可以指出可能出问题的方向吗?上面的列表可能不太准确,因为我可能已经反复安装和卸载了一些东西以进行尝试。但是我尝试的越多,我就越困惑。我真的很感谢您的帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

如果您使用的是conda环境,则某些模块通常会出现此错误。我在张量流中遇到了类似的错误。解决方案是使用conda安装jupyter

conda install jupyter

在我花了数小时尝试一次又一次地卸载和安装软件包之后,这为我解决了该错误。问题是,如果创建了jupyter,它不是来自环境中的。