gpt4 book ai didi

jupyter-notebook - 从 Jupyter Notebook 在 Voila 中下载文件

转载 作者:行者123 更新时间:2023-12-01 03:02:56 25 4
gpt4 key购买 nike

关于从 Jupyter Notebook 下载文件,有很多问题都有很好的答案。 Here's one我之前加过。这有效,但我无法单击并下载该文件以用于以 Voila 启动的服务器。

最初我意识到当点击 Voila 时我无法下载基本案例。

from IPython.display import display, FileLink

local_file = FileLink('./demo.xlsx', result_html_prefix="Click here to download: ")
display(local_file)

output screenshot

那是我的笔记本。我可以点击链接并下载文件。当我用 Voila 启动我的笔记本时,它看起来更像这样..
enter image description here

点击链接给出 404 ☝️ 瞧,服务器开始于

voila mynotebook.ipynb

由于文件显然没有被提供......我找到了 this link here并尝试:

voila mynotebook.ipynb --VoilaConfiguration.file_whitelist="['demo.xlsx']"

不幸的是,这不起作用。

我看到可以提供静态内容,瞧.. 我会继续沿着这条路走下去。以前有人这样做过吗?

最佳答案

我能够通过托管我的文件以像我之前尝试的那样下载为静态内容来使其工作。所有这些都适用于 Mac,但适用于其他平台。

我必须定义一个自定义模板才能在 static_root 获取文件所以他们可以得到服务。相关documentation is here用于设置自定义模板。

这并不难……您基本上是在预期的位置创建一个目录,复制一些默认文件,然后添加/更改您想要的内容。终端记录可能如下所示:

cd ~/Library/Jupyter/voila/templates/
mkdir foobar
export DEFAULT_TEMPLATE_PATH=~/anaconda3/envs/voilatest/share/jupyter/voila/templates/default
export TEMPLATE_PATH=~/Library/Jupyter/voila/templates/foobar
cp -r $DEFAULT_TEMPLATE_PATH/nbconvert_templates $TEMPLATE_PATH
cp -r $DEFAULT_TEMPLATE_PATH/templates $TEMPLATE_PATH

在我的新自定义模板中,树将如下所示:

 {~/Library/Jupyter/voila/templates/foobar}$  tree .
.
├── nbconvert_templates
│   ├── base.tpl
│   ├── lab.tpl
│   └── voila.tpl
├── static
│   └── demo.xlsx
└── templates
├── 404.html
├── browser-open.html
├── error.html
├── page.html
└── tree.html

3 directories, 9 files

注意 static目录 demo.xlsx .我加进去了。那是我想通过链接下载的文件。

像这样开始瞧...
voila mynotebook.ipynb --template=foobar

现在..在 mynotebook.ipynb

使用 HTML Anchor 标签进行下载。至少 FileLink对我来说失败并出现以下错误。

Path (/voila/static/demo.xlsx) doesn't exist. It may still be in the process of being generated, or you may have the incorrect path.



这并不奇怪,因为文件的实际路径存储在 不是 那。它恰好是静态内容 uri。

%%html
<a href="./voila/static/demo.xlsx" download="demo.xlsx">Download Excel Sheet</a>

使用 anchor 将使其硬编码,我没有任何问题。无论如何,我也可以更多地设计 anchor 。一个问题.. 这在普通笔记本中不再适用,因为它是在 voila 下服务资源的 URI。

关于jupyter-notebook - 从 Jupyter Notebook 在 Voila 中下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60013197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com