我正在使用Jupyter和voila将笔记本作为仪表板。我使用ipyvutify作为UI小部件框架。ipyvotify从互联网上获取一些静态文件,如jupyter-vue.js这对我们的一些限制互联网访问的用户不起作用。如何确保从应用服务器本身提供静态文件。感谢
我有类似的设置。当你的voila应用程序启动时,它会在某个时候尝试定位jupyter-vue.js组件。从localhost:8866服务您的应用程序的第一个相关请求是
GET http://localhost:8866/voila/jupyter-vue.js
然后重定向到
GET http://localhost:8866/voila/files/voila/jupyter-vue.js
此时,您的应用程序无法在本地找到jupyter-vue.js,它将返回CDN
GET https://cdn.jsdelivr.net/npm/jupyter-vue@^1.8.0/dist/index.js
这是您的用户需要连接到CDN的地方。为了解决问题,您可以使用具有互联网连接的机器手动下载js组件。
$ curl https://cdn.jsdelivr.net/npm/jupyter-vue@^1.8.0/dist/index.js > jupyter-vue.js
你可能也想要
$ curl https://cdn.jsdelivr.net/npm/jupyter-matplotlib@^0.11/dist/index.js > jupyter-matplotlib.js
$ curl https://cdn.jsdelivr.net/npm/jupyter-vuetify@^1.8.4/dist/index.js > jupyter-vuetify.js
将这些文件放入文件夹"中;瞧;以便您的笔记本目录具有以下设置
./notebooks/myapp.ipynb
./notebooks/voila/jupyter-vue.js
./notebooks/voila/jupyter-matplotlib.js
./notebooks/voila/jupyter-vuetify.js
启动你的应用
$ voila --VoilaConfiguration.file_whitelist=".*.js" myapp.ipynb
您的应用程序现在将通过请求找到所需的组件
GET http://localhost:8866/voila/files/voila/jupyter-vue.js