【问题标题】:How to install and use scikit-learn in Python如何在 Python 中安装和使用 scikit-learn
【发布时间】:2018-11-07 21:35:54
【问题描述】:

提前注意:我尝试在其他线程中遵循建议,但到目前为止,还没有找到任何有用的东西(12

我收到了一个我想在我的机器上运行的 pandas 文件。一开始,代码引用了sklearn包。

import re
from sklearn.decomposition import FactorAnalysis
from sklearn import svm

但是,在运行此单元格时,我确实收到以下错误:

ModuleNotFoundError: No module named 'sklearn.decomposition'

我的 Python 目录中确实有 scikit_learn-0.19.0-py3.6.egg-info 和 sklearn 包,所以我不确定它为什么不起作用。我尝试重新安装它,但两者都...

conda install scikit-learn

...和...

pip install scikit-learn

...不工作。前者使我的 Python 崩溃(弹出窗口告诉我它已崩溃),后者产生一堆错误消息:

>pip install scikit-learn
Requirement already satisfied: scikit-learn in c:\programdata\...\lib\site-packages
Exception:
Traceback (most recent call last):
  File "C:\ProgramData\...\lib\site-packages\pip\basecommand.py", line 215, in main
    status = self.run(options, args)
  File "C:\ProgramData\...\lib\site-packages\pip\commands\install.py", line 335, in run
    wb.build(autobuilding=True)
  File "C:\ProgramData\...\lib\site-packages\pip\wheel.py", line 749, in build
    self.requirement_set.prepare_files(self.finder)
  File "C:\ProgramData\...\lib\site-packages\pip\req\req_set.py", line 380, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "C:\ProgramData\...\lib\site-packages\pip\req\req_set.py", line 666, in _prepare_file
    check_dist_requires_python(dist)
  File "C:\ProgramData\...\lib\site-packages\pip\utils\packaging.py", line 48, in check_dist_requires_python
    feed_parser.feed(metadata)
  File "C:\ProgramData\...\lib\email\feedparser.py", line 175, in feed
    self._input.push(data)
  File "C:\ProgramData\...\lib\email\feedparser.py", line 103, in push
    self._partial.write(data)
TypeError: string argument expected, got 'NoneType'
You are using pip version 9.0.1, however version 18.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

知道如何让它工作吗?谢谢

【问题讨论】:

  • 您是否尝试过 pip 卸载并重新安装它?
  • 卸载似乎不起作用,我收到多条错误消息。我首先必须确认,我想继续卸载,但随后我收到: PermissionError: [WinError 5] Access is denied: 'c:\\programdata\\...\\lib\\site -packages\\scikit_learn-0.19.0-py3.6.egg-info' -> 'C:\\Users\\...\\pip-0k0t65vd-uninstall\\programdata\\...\\lib\ \site-packages\\scikit_learn-0.19.0-py3.6.egg-info'
  • pip install --user scikit-learn怎么样
  • 这告诉我[目录路径]中的要求已经满足

标签: python pandas scikit-learn pip miniconda


【解决方案1】:

尝试运行最后一条命令先升级 pip?

pip install --upgrade pip

然后安装 scikitlearn。并且可能根据您在环境中使用的 python 版本尝试此操作:

pip3 install scikit-learn

【讨论】:

  • 如果你得到PermissionError: [WinError 5] Access is denied: 尝试添加--user 标志
  • 升级到新的点子成功了。即使它仍然给了我旧消息,我正在使用旧版本:“成功安装 pip-18.1。您使用的是 pip 版本 9.0.1 ...”。但是,当我现在尝试安装 scikit-learn 时,它告诉我“AttributeError: module 'pip' has not attribute 'main'
  • 在 pip install --upgrade pip 之前尝试使用 sudo
  • 你的意思是在它前面输入sudo?好像不行
  • 尝试迭代sudo python3 -m pip install sklearn pip --version 输出什么?
【解决方案2】:

解决了。

  • 设法使用this 线程回滚到 pip v9。
  • 已卸载 scikit-learn(它是 v0.19)。不得不使用管理员模式来避免前面提到的 PermissionError
  • 再次安装(版本为 v0.2)

代码现在可以工作了,感谢所有贡献的人。

【讨论】:

    【解决方案3】:

    如果你在 linux 上...

    1)。下载anacondahttps://www.anaconda.com/download/#download

    2)。转到下载文件的位置并键入 bash Anaconda-latest-Linux-x86_64.sh

    新的 anaconda 已经安装了 scikit-learn。

    如果您像我一样需要旧版本的 python,您可以通过键入

    来安装该版本

    conda install python=3.6

    【讨论】:

      【解决方案4】:

      实际上,我最近在 windows10 中为 python3 遇到了同样的问题,然后我尝试了它对我有用。

      1.  python -m pip install -U pip setuptools
      
      2.  pip install scikit-learn
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-30
        • 2014-06-05
        • 2013-09-29
        • 1970-01-01
        • 2014-04-30
        • 2018-12-21
        • 2016-06-02
        • 1970-01-01
        相关资源
        最近更新 更多