首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ImportError:没有名为naive_bayes的模块

ImportError:没有名为naive_bayes的模块
EN

Stack Overflow用户
提问于 2017-09-27 05:49:56
回答 3查看 7K关注 0票数 0

我刚刚安装了sklearn,当我将它导入代码时,我的程序就没有问题了。但是,每当我试图访问naive_bayes模块时,都会得到以下错误:

代码语言:javascript
复制
ImportError: No module named naive_bayes

以下是我导入的方式:

代码语言:javascript
复制
from sklearn.naive_bayes import GaussianNB

不知道我哪里出错了,任何帮助都是非常感谢的!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-09-28 05:39:18

本着“关闭它,并再次打开它”解决方案的精神,并且考虑到当您尝试打印scikit学习版本(应该在任何自重的Python模块中定义)时,您将得到一个Module has no attribute: __version__,我将建议您卸载并重新安装scikit:

代码语言:javascript
复制
pip uninstall sklearn
pip install sklearn

运行以下命令,并与所提供的输出进行比较,以确保包的行为符合其应有的方式:

代码语言:javascript
复制
>>> import sklearn
>>> print(sklearn.__version__)
0.19.0
>>> print(sklearn.__file__)
/usr/local/lib/python3.6/site-packages/sklearn/__init__.py
>>>

打印sklearn.__file__的输出不需要完全匹配,但它至少应该在计算机上打印某些位置。

另外,检查确保您的pip与您的python匹配。这取决于您所处的平台,但是这种版本2和版本3的组合有时会产生一种令人讨厌的鸡尾酒。执行pip --version应该告诉您它绑定到哪个版本。

代码语言:javascript
复制
$ which pip3
/usr/local/bin/pip3

$ pip3 --version
pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6)

$ which python3
/usr/local/bin/python3

只要与Python版本2相匹配,您就可以使用Python版本。

(Soap盒时刻:如果您没有真正的理由坚持使用Python 2,请转到Python 3!)

票数 0
EN

Stack Overflow用户

发布于 2017-09-27 07:30:39

在安装过程中,sklearn安装似乎不包括naive_bayes。如果sklearn安装正确,它会说如下所示

代码语言:javascript
复制
ImportError: No module named 'sklearn.naive_bayes2'

但是,在您的示例中,导入错误显示的输出略有不同。请检查版本并运行测试文件。

票数 0
EN

Stack Overflow用户

发布于 2017-10-08 17:21:10

我也有同样的问题,当安装滑雪和坐骑-学习通过pip。

I通过以下步骤修复了这个问题

  1. pip卸载滑雪板(如果已经安装)
  2. pip卸载scikit学习(如果已经安装)
  3. git克隆科学知识-学习
  4. 光盘科学-学习
  5. python setup.py安装

希望这能帮到你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46440354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档