首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从木星笔记本下载Voila的文件

从木星笔记本下载Voila的文件
EN

Stack Overflow用户
提问于 2020-02-01 01:15:49
回答 1查看 2.8K关注 0票数 9

关于从朱庇特笔记本下载文件,有很多问题有很好的答案。我之前添加的这里有一个。这是可行的,但我不能点击和下载的服务器启动的Voila文件。

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

代码语言:javascript
复制
from IPython.display import display, FileLink

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

那是我笔记本上的。我可以点击该链接并下载该文件。当我用Voila开始我的笔记本时,它看起来更像..。

单击该链接为启动的服务器提供了一个404☝️

代码语言:javascript
复制
voila mynotebook.ipynb

既然文件显然没有送达..。我找到了这里的链接,并试着:

代码语言:javascript
复制
voila mynotebook.ipynb --VoilaConfiguration.file_whitelist="['demo.xlsx']"

但不幸的是没起作用。

我看到静态的内容可以在.我会继续在这条路上玩。以前有人这样做过吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-01 03:31:19

我能够让它工作,通过托管我的文件下载静态内容,就像我以前尝试的那样。所有这些都是针对Mac的,但对于其他平台来说也是一样的。

为了在static_root获得文件,我必须定义一个自定义模板,以便能够为它们提供服务。用于设置自定义模板的相关文件在这里

并不难..。您实际上创建了一个期望的目录,复制一些默认文件,然后添加/更改您想要的内容。终端记录可能如下所示:

代码语言:javascript
复制
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

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

代码语言:javascript
复制
 {~/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

请注意带有staticdemo.xlsx目录。我加进去了。这就是我想通过链接下载的文件。

像这样开始看..。

代码语言:javascript
复制
voila mynotebook.ipynb --template=foobar

现在.。在mynotebook.ipynb

使用HTML标记进行下载。至少对于我来说,FileLink失败了,出现了以下错误。

路径(/voila/静态/demo.xlsx)不存在。它可能仍在生成过程中,或者您可能有错误的路径。

这并不令人惊讶,因为存储在中的文件的实际路径不是。它恰好是静态内容uri。

代码语言:javascript
复制
%%html
<a href="./voila/static/demo.xlsx" download="demo.xlsx">Download Excel Sheet</a>

使用锚将使它硬编码,我没有任何问题。无论如何,我也可以把锚的样式设计得更好。一次抓住..。这不再适用于普通的笔记本,因为它是一个URI的一个服务资源下,瞧。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60013197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档