我已经安装了VS代码与木星的扩展。我的电脑上也安装了木星和Bokeh。
VS代码: 1.51.1提交: e5a624b788d92b8d34d1392e4c4d9789406efe8f日期: 2020-11-10T23:31:29.624Z电子: 9.3.3 Chrome: 83.0.4103.122 Node.js: 12.14.1 V8: 8.3.110.13电子操作系统: Linux x64 5.4.0-56
ms-toolsai.jupyter: v2020.12.411183155
jupyter核心: 4.6.3 jupyter -记事本: 6.0.3 qt控制台: 4.7.5 ipython : 7.16.1 ipython: 5.3.4 jupyter客户端: 6.1.6 jupyter实验室:未安装的jupyter实验室: 5.6.1 ipywidget: 7.5.1 not格式: 5.0.7 traitlets : 4.3.3
bokeh: 2.1.1
我试图在VS Code中运行一个启动Bokeh服务器的笔记本,以便创建一个交互式web应用程序,如下例所示:
import numpy as np
from bokeh.plotting import figure
from bokeh.io import show, output_notebook
output_notebook()
def plot(doc):
x = np.linspace(0,2*np.pi,20)
y = np.sin(x)
p = figure()
h = p.line(x, y)
doc.add_root(p)
show(plot)当我从终端启动木星,并在网络浏览器中运行笔记本时,一切都很好。
当我使用VS代码中的木星扩展并显示一个简单的Bokeh图形(使用bokeh.io.show(bokeh.plotting.figure))时,一切都很好。
这是当我在VS代码中使用木星扩展并尝试使用Bokeh服务器(如上面的示例所示使用bokeh.io.show(可调用的)时),并且在Webview控制台中获得以下消息:
VM79 79:809拒绝连接到'ws://localhost:33727/ws?platform=electron‘,因为它违反了以下内容安全策略指令:“默认-src’不安全-内联‘不安全-eval’数据: https: http: blob: vscode-webview-resource:”。请注意,没有显式设置“connect”,因此“default-src”用作回退。VM79 79:809 bokeh未能连接到Bokeh服务器:未能打开websocket VM79 79:808 bokeh未能加载Bokeh会话vAIAgpYICYGtqkteUPnD9UbYsp0oXOzsb9lZbLUVOFk4: Error:无法打开websocket
我尝试取消选中木星扩展设置中的“使用默认的Config for木星”选项,并在~/.jupyter/ Jupyter _记事本_config.py文件中指定以下内容安全策略:
c.NotebookApp.tornado_settings = {
'headers': {
'Content-Security-Policy': "default-src 'unsafe-inline' 'unsafe-eval' data: http: https: ws: wss: blob: vscode-webview-resource:; connect-src http: https: ws: wss:"
}
}但令人惊讶的是,这并没有产生任何影响(虽然修改了这些设置,并在网络浏览器中运行了木星,但影响还是如出一辙)。
我还尝试从终端启动本地木星服务器,并使VS Code木星扩展连接到该服务器(而不是让VS Code启动木星服务器),但这也令人意外地没有影响。
有谁知道什么会出错吗?有人已经达到我想做的事了吗?
我已经花了几天的时间试图解决这个问题,现在我已经无所适从。
谢谢
发布于 2020-12-11 17:17:02
关于这一点有一个关于GitHub的最新一期。目前还不清楚是否有可能与VSCode集成。Bokeh希望能够建立一个HTTP连接,它可以升级到websocket连接,也可以执行JS代码,而且看起来VSCode可能会干扰这些需求。请随意将此信息添加到上面的链接问题中,因为这似乎是一条新的失败路径。
https://stackoverflow.com/questions/65254246
复制相似问题