【问题标题】:IPython.html.widgets in IPython say: no module named widgetsIPython 中的 IPython.html.widgets 说:没有名为 widgets 的模块
【发布时间】:2016-05-05 19:19:58
【问题描述】:

所有人的上帝日。我正在尝试在 Jupyter + IPython 环境中执行 Cirille Rossant 的“IPython Interactive Computing an Visualizing Cookbook”一书中的代码。

在我尝试之前一切正常:

from collections import OrderedDict
from IPython.display import (display, clear_output, YouTubeVideo)
from IPython.html.widgets import DropdownWidget

如果我确实重新启动到内核,则会出现此消息:

/usr/local/lib/python3.4/dist-packages/IPython/html.py:14: ShimWarning: The `IPython.html` package has been deprecated. You should import from `notebook` instead. `IPython.html.widgets` has moved to `ipywidgets`.
  "`IPython.html.widgets` has moved to `ipywidgets`.", ShimWarning)

然后我尝试通过以下方式更改第三行(问题):

from ipywidgets import DropdownWidgets

但 Jupyter 回答:ImportError: cannot import name 'DropdownWidget'

有人可以帮帮我吗?

接下来是部分答案

嗯,在网上寻找我在此页面ipywidgets installation 的问题和问题的答案。

我尝试下一个示例并且工作正常:

import numpy as np
url = "http://donnees.ville.montreal.qc.ca/dataset/f170fecc-18db-44bc-b4fe-5b0b6d2c7297/resource/ec12447d-6b2a-45d0-b0e7-fd69c382e368/download/2013.csv"
df = pd.read_csv(url, index_col='Date', parse_dates=True, dayfirst=True)
from ipywidgets import interact
@interact
def plot(n=(1, 30)):
    pd.rolling_mean(df['Berri1'], n).dropna().plot()
    plt.ylim(0, 8000)
    plt.show()

但 jupyter 声称我必须这样做:jupyter nbextension enable --py --sys-prefix widgetsnbextension

我去终端听从建议,jupyter回应:

Configure an nbextension to be automatically loaded

Options
-------

Arguments that take values are actually convenience aliases to full
Configurables, whose aliases are listed on the help line. For more information
on full configurables, see '--help-all'.

--debug
    set log level to logging.DEBUG (maximize logging output)
-y
    Answer yes to any questions instead of prompting.
--generate-config
    generate default config file
--section=<Unicode> (EnableNBExtensionApp.section)
    Default: 'notebook'
    Which config section to add the extension to. 'common' will affect all
    pages.

To see all available configurables, use `--help-all`

[EnableNBExtensionApp] CRITICAL | Bad config encountered during initialization:
[EnableNBExtensionApp] CRITICAL | Unrecognized flag: '--py'

查看1 中的建议:jupyter nbextension enable --py widgetsnbextension,但在控制台中建议jupyter nbextension enable --py --sys-prefix widgetsnbextension。请注意,有一点区别,但在两种情况下都出现关于--py 选项的相同错误

在这一刻,问题得到了部分回答。

【问题讨论】:

  • 最后一条错误信息看起来你需要先升级notebook。大多数小部件类从名称中删除了“小部件”,因此DropdownWidget 可能变成了Dropdown
  • 谢谢托马斯,你有理由,看着我发布的答案中的网页,所有的语法都像你说的那样改变了。现在我正在查看笔记本并寻找类似的变化。

标签: python ipython jupyter jupyter-notebook ipywidgets


【解决方案1】:

嗯,在网上搜索我在 jupyter 网页 (jupyter) 上找到了这本书的重新访问的笔记本,并且几乎运行良好(除了一些例外,至少在第 01 章,我去尝试使用其他章节)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    • 2021-06-08
    • 2014-03-19
    • 1970-01-01
    相关资源
    最近更新 更多