首页 > 解决方案 > 安装 sklearn 后没有名为“sklearn”的模块

问题描述

我在我的机器(mac os)中安装的某些软件包没有正确安装

例如,我尝试通过以下方式安装sklearn

sudo pip3 install -U scikit-learn

但是当我在我的代码中使用它时它不会运行并抛出这个错误

ModuleNotFoundError:没有名为“sklearn”的模块

有趣的是它可以在 IPython shell 上运行并且不会抛出错误

问题是什么?我该如何解决?

标签: pythonmacosscikit-learnpip

解决方案


通常当发生这样的事情时,问题是您pip3将软件包安装在您python无法访问的地方。如果您查看安装日志,它实际上会说明它安装软件包的位置。然后您只需检查该路径是否在您的sys.path列表中(先做import sys)。很可能不是,因此您可以直接将路径(以“site-packages”结尾)附加到sys.path,或确保使用实际将软件包安装在正确位置的 pip 版本。我推荐后者。

如果您使用的是 Anaconda,那么您只需要确保which pip3在终端中执行会显示您的 Anaconda 文件夹中的 pip 安装路径。如果不是这种情况,问题可能是您的 PATH 变量应该包含指向您的anaconda3/bin文件夹的路径。

如果您不使用 Anaconda,请确保which pythonwhich pip3为您提供匹配的路径。同样,情况可能并非如此,您应该通过将适当的bin路径导出到 PATH 变量来解决此问题。


推荐阅读