python 如何创建和打开一个jupyter笔记本ipynb文件直接从终端

w6lpcovy  于 2023-04-04  发布在  Python
关注(0)|答案(6)|浏览(367)

命令jupyter notebook将打开Jupyter目录树页面,您可以在其中创建ipynb文件。
有没有办法跳过那个页面,直接在浏览器上创建并打开ipynb文件?
我在想jupyter notebook mynotebook.ipynb之类的东西

pnwntuvh

pnwntuvh1#

在浏览器中打开笔记本

jupyter notebook <notebook>.ipynb

创建空的最小笔记本:

"""create-notebook.py
   Creates a minimal jupyter notebook (.ipynb)
   Usage: create-notebook <notebook>
"""
import sys
from notebook import transutils as _
from notebook.services.contents.filemanager import FileContentsManager as FCM

try:
    notebook_fname = sys.argv[1].strip('.ipynb')
except IndexError:
    print("Usage: create-notebook <notebook>")
    exit()

notebook_fname += '.ipynb'  # ensure .ipynb suffix is added
FCM().new(path=notebook_fname)

别名创建笔记本脚本:

alias create-notebook='python $(pwd)/create-notebook.py'

∮把所有的一切放在一起∮
create-notebook my_notebook && jupyter notebook my_notebook.ipynb

jogvjijk

jogvjijk2#

这可能不是最理想的方法。也许Jupyter或extensions本身有一个选项,但我没有遇到过一个,也没有遇到需要这样做的情况。文档显示开发人员鼓励用户登陆 Jmeter 板。
从一个空的notebook Untitled.ipynb开始。要生成它,请保存从jupyter Jmeter 板创建新notebook时创建的默认文件。这个空notebook将用作在命令行创建新的空notebook的模板。对于我来说,jupyter版本4.4.0的Untitled.ipynb的内容如下所示:

$ cat Untitled.ipynb
{
 "cells": [],
 "metadata": {},
 "nbformat": 4,
 "nbformat_minor": 2
}

该文件包含了使用jupyter notebook Untitled.ipynb(以及最终的mynotebook.ipynb)启动notebook所需的最低限度,如果少于此值,它将引发NotJSONError。如果您希望包含默认内核,可以向模板添加一些元数据。
在这里,使用command substitution从命令行打开一个新的空笔记本,其中Untitled.ipynb是上面创建的模板笔记本的路径,mynotebook.ipynb是您要创建的笔记本的名称:

$ jupyter notebook $(cat Untitled.ipynb >mynotebook.ipynb && echo mynotebook.ipynb)
uz75evzq

uz75evzq3#

你可以试试下面的命令。

jupyter nbconvert --to notebook --execute mynotebook.ipynb

根据下面的Jupyter nbconvert手册,nbconvert--execute命令支持运行笔记本。


希望它能为你工作。

6yoyoihd

6yoyoihd4#

我也有同样的痛点,并创建了nbplot来解决它:https://github.com/nburrus/nbplot。它被设计为从命令行快速绘制笔记本中的文件,但总体而言,它只是一个从模板生成笔记本并在浏览器中打开它们的小工具。下面是如何使用它与包含的空模板来回答你的问题:

pip3 install --upgrade nbplot
nbplot -t empty -o mynotebook.ipynb

它将尝试聪明地重用现有的笔记本服务器,而不是总是启动一个新的,如果你不想从一个空的笔记本开始,很容易将自定义笔记本模板添加到~/.nbplot/

fhity93d

fhity93d5#

您可以使用jupytext从命令行创建一个新的笔记本:

# create python file
touch foo.py

# add kernel information
jupytext --set-kernel - foo.py

# convert to notebook
jupytext --to notebook foo.py

# open in browser
jupyter notebook foo.ipynb

https://jupytext.readthedocs.io/en/latest/using-cli.html
这些命令可以 Package 在一个shell脚本中,名为jupyinit

#!/bin/bash
# Create a new Jupyter notebook from the command line
# 
# Examples
# jupyinit env_name py_file.py py_file.ipynb

touch $2
jupytext --set-kernel $1 $2
jupytext --to notebook --execute $2
jupytext --set-formats ipynb,py $3

然后可以使用以下命令创建OP的示例:
$ jupyinit myenv mynotebook.py mynotebook.ipynb

p4tfgftt

p4tfgftt6#

Jupyter将在本地主机上的Tornado服务器上开始运行。链接类似于http://localhost/Tree当你打开一个笔记本时,这是在另一个页面中完成的。你可以尝试编写一个批处理脚本来调用kupyter notebok,然后用你的笔记本地址调用你的浏览器。我认为如果笔记本不存在,没有创建,那么它将无法工作(该页面已创建,无法打开)。

相关问题