【问题标题】:Why can I see pip list sklearn but not in Jupyter when I run a code?为什么我在运行代码时可以看到 pip list sklearn 但在 Jupyter 中看不到?
【发布时间】:2019-01-31 04:19:43
【问题描述】:

我目前正在使用 Jupyter 开发我的第一个程序。当我运行一个单元格时,我收到以下内容

<ipython-input-6-7a7db0de4539> in <module>
      1 try:
----> 2     from sklearn.datasets import fetch_openml
      3     mnist = fetch_openml('mnist_784', version=1, cache=True)

c:\users\james\appdata\local\programs\python\python37\lib\site-packages\sklearn\__init__.py in <module>
     63     from . import __check_build
---> 64     from .base import clone
     65     from .utils._show_versions import show_versions

c:\users\james\appdata\local\programs\python\python37\lib\site-packages\sklearn\base.py in <module>
     12 from .externals import six
---> 13 from .utils.fixes import signature
     14 from . import __version__

c:\users\james\appdata\local\programs\python\python37\lib\site-packages\sklearn\utils\__init__.py in <module>
     15 from ..exceptions import DataConversionWarning
---> 16 from .fixes import _Sequence as Sequence
     17 from .deprecation import deprecated

c:\users\james\appdata\local\programs\python\python37\lib\site-packages\sklearn\utils\fixes.py in <module>
     84 else:
---> 85     from scipy.special import boxcox  # noqa
     86 

c:\users\james\appdata\local\programs\python\python37\lib\site-packages\scipy\special\__init__.py in <module>
    640 
--> 641 from ._ufuncs import *
    642 

ImportError: DLL load failed: The specified module could not be found.

我使用 pip install 来获取 sklearn,并且在 cmd 中执行 pip list 时它就在那里。但是,当我什至尝试 import sklearn 时,我得到了一个错误。

我检查了import sys 然后sys.path 给了我:

'C:\\Users\\James\\Documents\\Machine Learning Comp Vision\\Project 1',
 'C:\\Users\\James\\Documents\\Machine Learning Comp Vision\\Project 1',
 'c:\\users\\james\\appdata\\local\\programs\\python\\python37\\python37.zip',
 'c:\\users\\james\\appdata\\local\\programs\\python\\python37\\DLLs',
 'c:\\users\\james\\appdata\\local\\programs\\python\\python37\\lib',
 'c:\\users\\james\\appdata\\local\\programs\\python\\python37',
 '',
 'c:\\users\\james\\appdata\\local\\programs\\python\\python37\\lib\\site-packages',
 'c:\\users\\james\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\IPython\\extensions',
 'C:\\Users\\James\\.ipython']

我所有的模块都位于C:\Users\James\AppData\Local\Programs\Python\Python37\lib\site-packages 我的文件 url 中的大写字母会是造成这种情况的原因还是与路径本身有关?

【问题讨论】:

  • 你是如何安装 sklearn 的?
  • pip install -U scikit-learn @Jeril
  • 您的 jupyter notebook 可能没有合适的内核设置。例如,当您在操作系统上安装了多个版本的 python,或者您将包安装到 virtualenv 并且 jupyter 没有与该特定环境关联的内核时,通常会发生这种情况。来自终端的which python 的输出是什么,然后是jupyter kernelspec list
  • 对于windows我一般从Unofficial Python binaries下载库,你可以试试从这里安装numpy和sklearn吗?
  • @Eric 我无法在 Windows 上运行那些命令(我在 jupyter 和我的 cmd 中尝试过)。我的 python 是 3.7.2,而 .ipynb 文件所在的内核是 python3跨度>

标签: python scikit-learn jupyter-notebook


【解决方案1】:

如果您已经工作安装了 numpyscipy,然后执行以下操作:

pip install -U scikit-learn

否则:

conda install scikit-learn

最后检查更新:

conda update pip

【讨论】:

  • 我没有 conda.. 我应该下载 conda 还是只能坚持 python pip install
  • 我已经这样做了,但是经过更多研究,我认为这是jupyter中内核的路径问题。
【解决方案2】:

在 Jupyter 笔记本中使用 pip

!{sys.executable} -m pip install -U scikit-learn

这将使用sys.executable 为您当前的内核运行正确的 pip,而不是为其他一些 Python 安装运行。

【讨论】:

    猜你喜欢
    • 2014-04-07
    • 1970-01-01
    • 1970-01-01
    • 2021-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-02
    相关资源
    最近更新 更多