Visual Studio Code 无法正确呈现 ipywidgets

coc*_*jim 11 visual-studio-code ipywidgets

我在使用 Visual Studio Code 时遇到问题。该代码似乎与 ipywidgets 有问题。代码如下(非常简单的交互式图表)

from ipywidgets import interact
import ipywidgets as widgets
import numpy as np
import plotly.graph_objects as go
@interact
def foo(beta=(-10,10,1)):
    myx = np.arange(0,100,1)
    myy = myx *beta 
    print ('debug:',myy)
    fig = go.FigureWidget()
    fig.add_scatter(x= myx, y=myy)
    fig.show()
Run Code Online (Sandbox Code Playgroud)

相同的代码在 Jupyter Notebook 中的工作方式与预期相同。我进一步挖掘,似乎:

“小部件要求我们从第三方网站下载支持文件。加载plotlywidget时出错:^4.14.3

https://github.com/microsoft/vscode-jupyter/wiki/IPyWidget-Support-in-VS-Code-Python

这就是我陷入困境的地方。接下来要解决这个问题是什么?

非常感谢任何指导

谢谢

Luc*_*ias 16

我看到的一些问题似乎是在 ipywidgets 8 发布后开始出现的。

我不明白到底是什么损坏了(或者是否损坏了),但是降级到版本7.7.1解决了我遇到的所有问题。

如果你也想尝试一下,你可以运行:pip install -U ipywidgets==7.7.1

  • 非常感谢这解决了我的问题。Github 问题在这里 https://github.com/microsoft/vscode-jupyter/issues/8552 (2认同)

小智 -1

您可以探索两件事。

  1. 检查模块:

jupyter --version在 conda 或虚拟环境中运行命令。你应该看到这样的东西:

IPython          : 8.4.0
ipykernel        : 6.9.1
ipywidgets       : 7.7.1
jupyter_client   : 7.2.2
jupyter_core     : 4.10.0
jupyter_server   : 1.21.0
jupyterlab       : 3.4.8
nbclient         : 0.6.4
nbconvert        : 6.5.0
nbformat         : 5.4.0
notebook         : 6.4.12
qtconsole        : not installed
traitlets        : 5.4.0
Run Code Online (Sandbox Code Playgroud)

如果有任何未安装的模块(除了 qtconsole),请尝试安装它们(使用pip install "module")并重新启动内核。

  1. 检查 Jupyter nbextension。

正如这里提到的,运行后pip install ipywidgets尝试:

jupyter nbextension enable --py widgetsnbextension
Run Code Online (Sandbox Code Playgroud)

注意:如果您使用虚拟环境(包括 conda 环境),激活扩展的推荐方法是运行

jupyter nbextension enable --py --sys-prefix widgetsnbextension
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助。