查看ipython笔记本的简单方法

时间:2018-01-27 22:40:21

标签: ipython jupyter-notebook

我是IPython / Jupyter笔记本的新手。我刚创建了一个笔记本(.ipynb),我想在我的网页上分享它。具体来说,我想添加一个链接,当人们点击它时,它会打开一个新的“网页”,在那里他们可以“查看”我的代码和结果。

注意:我不能使用github,这对我来说是一个巨大的痛苦。

我试过nbviewer(http://nbviewer.jupyter.org/)。它有几个选项,但只有其中一个(url)与github / gist无关。因此,为了获得我的文件的URL,我将其上传到谷歌驱动器,并获得该文件的公共链接。另一方面,当我将该链接放到nbviewer(作为我的文件的URL)时,它说“此URL中没有文件”。另一方面,我知道链接有效,因为当我把它放在浏览器上时,它会指示我下载.ipynb文件。

感谢您的帮助。

谢谢, 学家

6 个答案:

答案 0 :(得分:5)

用于共享笔记本的非GitHub选项似乎有限。您仍然可以直接通过Google的colaboratory分享链接。这将允许您:

  • 上传文件
  • 分享具有各种权限的链接

任何Google用户都可以查看(并选择编辑)您的笔记本。

另见其他选项:

答案 1 :(得分:3)

由于您已经创建了笔记本文件,因此可以轻松将其转换为html文件。在这种格式下,您可以轻松地共享或将其放在网站上。所以从提示符开始:

jupyter nbconvert --to html --execute YOUR_FILE.ipynb --output OUTPUT.html

还有其他格式:markdown,html,pdf,ipynb等

Documentation here

答案 2 :(得分:1)

Pycharm Professional还可以查看Jupyter笔记本

答案 3 :(得分:0)

签出此Firefox插件。 Python Notebook Viewer

它易于使用,不需要您打开终端/命令提示符,也可以脱机使用。请按照以下步骤操作。

  1. Firefox Addons网站安装
  2. 将.ipynb文件拖放到firefox中。
  3. 或者,您也可以从菜单->文件->打开文件中打开笔记本

https://addons.mozilla.org/en-US/firefox/addon/python-notebook-viewer/

答案 4 :(得分:0)

如果要在线共享Juptyer / IPython笔记本,请尝试使用jovian.ml。这是一个在Jupyter笔记本电脑上进行协作共享的平台,非常易于使用。

步骤1:安装Jovian python库

pip install jovian

步骤2:将库导入Jupyter / IPython笔记本

import jovian

步骤3:通过运行

将笔记本上传到您的Jovian帐户
jovian.commit()

在Jupyter笔记本中。这将捕获Juptyer笔记本(以及运行它所需的Python库),并将其上传到您的帐户,从而为您提供可共享的链接。这是一个示例:https://www.jovian.ml/aakashns/01-pytorch-basics

查看者还可以单击鼠标,在Google Colab,BinderHub和Kaggle等云平台上运行笔记本电脑。

答案 5 :(得分:0)

下面的代码是Jupyter笔记本的简单查看器。它可以用于快速预览ipynb文件。将代码用作python jnv.py a.ipynb,其中“ jnv.py”是下面的代码。如果有人将命令python jnv.py分配为ipynb文件的查看器,则该代码也可以在文件管理器中使用,例如Total Commander。

# jnv.py: A simple viewer of a Jupyter notebooks (ipynb-files).
# Works for nbformat version >= 4.
import tkinter as tk
import sys,json

f = open(sys.argv[1], 'r',  encoding="utf8")  # input.ipynb
jf = json.load(f)
f.close()

# Take text ('source') from 'markdown' and 'code' cells
out_txt = ''
for cell in jf["cells"]:
   if cell['cell_type'] == 'markdown':
      for el in cell['source']:
         out_txt = out_txt + el
   elif  cell['cell_type'] == 'code':
      for el in cell['source']:
         out_txt = out_txt + el

# Make a frame and display 'out_txt'. Press Esc to quit.
# See https://www.python-course.eu/tkinter_text_widget.php
root = tk.Tk()
def key(event):
   if event.keycode == 27:  # pressed Esc 
      root.destroy()         

S = tk.Scrollbar(root)
T = tk.Text(root, height=24, width=80)
S.pack(side=tk.RIGHT, fill=tk.Y)
T.pack(side=tk.LEFT, fill=tk.Y)
S.config(command=T.yview)
T.config(yscrollcommand=S.set)

T.insert(tk.END, out_txt)
root.bind("<Key>", key)
tk.mainloop()
相关问题