关于从 Jupyter Notebook 下载文件,有很多问题都有很好的答案。这是我之前添加的一个。这有效,但我无法为使用 Voila 启动的服务器单击并下载该文件。
最初我意识到当点击 Voila 时我无法下载基本案例。
from IPython.display import display, FileLink
local_file = FileLink('./demo.xlsx', result_html_prefix="Click here to download: ")
display(local_file)
Run Code Online (Sandbox Code Playgroud)
那是我的笔记本。我可以点击链接并下载文件。当我用 Voila 启动我的笔记本时,它看起来更像这样..

点击链接给出 404 ?? 瞧,服务器以
from IPython.display import display, FileLink
local_file = FileLink('./demo.xlsx', result_html_prefix="Click here to download: ")
display(local_file)
Run Code Online (Sandbox Code Playgroud)
由于文件显然没有被提供......我在这里找到了这个链接并尝试:
voila mynotebook.ipynb
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用。
我看到可以提供静态内容,瞧.. 我会继续沿着这条路走下去。以前有人这样做过吗?
我试图通过运行他们提供的示例来使用瞧,但是小部件不显示(来自 jupyter 和瞧的输出),并且我收到以下错误:
\n(voila_env) Z:\\Programming\\voila\\notebooks>voila basics.ipynb\n[Voila] Using C:\\Users\\MARCEL~1\\AppData\\Local\\Temp to store connection files\n[Voila] Storing connection files in C:\\Users\\MARCEL~1\\AppData\\Local\\Temp\\voila_hgasx21q.\n[Voila] Serving static files from Z:\\anaconda3\\envs\\voila_env\\lib\\site-packages\\voila\\static.\n[Voila] Voil\xc3\xa0 is running at:\nhttp://localhost:8866/\n[Voila] WARNING | Notebook basics.ipynb is not trusted\n[Voila] Kernel started: 30ffdbc7-a285-496e-965b-73d1f051c382\nERROR:tornado.application:Uncaught exception GET /voila/templates/lab/static/index.css?v=157743fa4e0f4c8216448c596a8d3586 (::1)\nHTTPServerRequest(protocol=\'http\', host=\'localhost:8866\', method=\'GET\', uri=\'/voila/templates/lab/static/index.css?v=157743fa4e0f4c8216448c596a8d3586\', version=\'HTTP/1.1\', remote_ip=\'::1\')\nTraceback (most recent call last):\n File "Z:\\anaconda3\\envs\\voila_env\\lib\\site-packages\\tornado\\web.py", line 1703, in _execute\n result = await result\n File "Z:\\anaconda3\\envs\\voila_env\\lib\\site-packages\\tornado\\web.py", line 2580, in get\n absolute_path = self.get_absolute_path(self.root, self.path)\n File "Z:\\anaconda3\\envs\\voila_env\\lib\\site-packages\\voila\\static_file_handler.py", line 56, in get_absolute_path\n …Run Code Online (Sandbox Code Playgroud) 如果我使用带有 HTTPS 隧道和密码的 ngrok,这是从我的计算机运行生产服务器的安全方法吗?
我已经对此进行了几天的试验,我注意到,当与 Voila(Jupyter Notebook 仪表板框架)配合使用时,单个 HTTPS 隧道可以轻松处理我在典型一天中看到的用户数量。这似乎是运行 Web 应用程序的一种极具成本效益的方式,但我想存在一些我没有意识到的安全问题。
谢谢!
我正在构建一个带有基于Jupyter和Voila 的交互式绘图的 webapp 。里面的笔记本我用ipywidgets处理的交互性和%matplotlib widget后端,所以我可以更新我的阴谋没有重绘全数字(在不工作%matplotlib inline,并%matplotlib notebook在瞧不渲染)。
我的问题是我无法设置图形大小,使其与其画布或容器的大小相匹配,这些画布或容器会在窗口调整大小时自动调整大小。
这是我的情况的一个小工作示例:
%matplotlib widget
from IPython.display import display
import matplotlib.pyplot as plt
import ipywidgets as widgets
import numpy as np
# Output widget that will contain the figure
out = widgets.Output(layout = {
'border': '1px solid black',
# 'width': '100%' # Not needed and does not help
})
# Initializing the figure within out
with out:
fig, ax = plt.subplots(1, constrained_layout=True) …Run Code Online (Sandbox Code Playgroud) 我正在使用 Python 3.8,这是打印输出jupyter --version:
jupyter core : 4.6.3
jupyter-notebook : 6.0.3
qtconsole : not installed
ipython : 7.13.0
ipykernel : 5.1.4
jupyter client : 6.0.0
jupyter lab : 2.0.0
nbconvert : 5.6.1
ipywidgets : 7.5.1
nbformat : 5.0.4
traitlets : 4.3.3
Run Code Online (Sandbox Code Playgroud)
除了以下内容(直接来自文档),我实际上什么也没做:
pip install voila
git clone https://github.com/QuantStack/voila
cd voila
voila notebooks/bqplot.ipynb
Run Code Online (Sandbox Code Playgroud)
打印这个:
Traceback (most recent call last):
File "c:\program files\python38\lib\runpy.py", line 192, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\program files\python38\lib\runpy.py", line 85, in _run_code
exec(code, run_globals) …Run Code Online (Sandbox Code Playgroud) voila ×5
ipython ×2
figsize ×1
https ×1
ipywidgets ×1
jupyter ×1
jupyter-lab ×1
ngrok ×1
python-3.x ×1
server ×1
web ×1