无法使用GitHub,如何通过网页分享IPython/Jupyter Notebook并实现预览?
解决Jupyter Notebook分享问题(无需GitHub)
别担心,我刚好用过类似的场景,给你几个靠谱的解决方案:
问题根源
你遇到的问题是因为Google Drive的公开分享链接不是直接指向文件原始内容的,它是一个带网页界面的跳转链接,nbviewer没法从这个链接里提取到.ipynb文件本身,所以才会提示“此URL中无文件”。
方案一:修改Google Drive链接格式
把你的Drive公开链接转换成直接下载的原始文件链接,步骤如下:
- 复制你的Drive文件链接,它看起来大概是这样:
https://drive.google.com/file/d/[你的文件ID]/view?usp=sharing - 把它改成这种格式:
https://drive.google.com/uc?export=download&id=[你的文件ID]- 重点是提取出中间的
[你的文件ID]部分,替换到新链接里
- 重点是提取出中间的
- 把修改后的链接粘贴到nbviewer的URL输入框里,再试试,这次nbviewer应该能正确识别到你的.ipynb文件了
方案二:转换成HTML直接分享(更稳定)
如果觉得依赖nbviewer还是麻烦,你可以直接把Notebook转换成HTML文件,这样用户打开就能直接看到内容,不需要第三方工具:
- 打开终端(或命令提示符),进入你的.ipynb文件所在的文件夹
- 运行命令:
jupyter nbconvert --to html your_notebook.ipynb- 把
your_notebook换成你实际的文件名
- 把
- 这会生成一个和Notebook同名的.html文件,把这个文件上传到你的个人网页空间
- 在你的个人网页里添加一个指向这个HTML文件的链接,用户点击后就能在新页面里看到完整的代码和运行结果了
方案三:用其他支持Raw访问的托管服务
如果Google Drive还是不好用,你可以试试其他免费的静态文件托管服务,比如Dropbox(同样要改链接格式):
- Dropbox的公开链接默认是
https://www.dropbox.com/s/[文件ID]/filename.ipynb?dl=0,改成https://www.dropbox.com/s/[文件ID]/filename.ipynb?dl=1,就能作为原始文件链接给nbviewer用
这些方法都不需要用到GitHub,你可以根据自己的情况选最顺手的!
内容的提问来源于stack exchange,提问作者JohnPython
相关产品推荐
相关产品推荐

