48 votes

Comment créer et ouvrir un fichier jupyter notebook ipynb directement depuis le terminal

La commande jupyter notebook ouvrira la page de l'arborescence du répertoire Jupyter où vous pouvez créer un fichier ipynb.

Existe-t-il un moyen de sauter cette page et de créer et ouvrir le fichier ipynb directement dans le navigateur ?

Je pensais à quelque chose comme jupyter notebook mynotebook.ipynb

11voto

stacksonstacks Points 2053

Ouvrir le carnet de notes dans le navigateur

jupyter notebook <notebook>.ipynb

Créez un carnet de notes vide et minimal :

"""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 script :

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

Tout mettre en place

create-notebook my_notebook && jupyter notebook my_notebook.ipynb

0 votes

jupyter notebook <notebook>.ipynb ainsi que jupyter notebook <path/to>/<notebook>.ipynb semblent (sous Linux du moins) avoir l'effet secondaire très malheureux d'épingler la "racine" de l'arborescence des fichiers au répertoire qui contient <notebook>.ipynb Il est donc impossible d'ouvrir des notebooks dans des répertoires autres que ceux qui sont des descendants directs de ce répertoire, que ce soit à partir de la ligne de commande ou en ouvrant le navigateur de fichiers en cliquant sur le logo Jupyter en haut à gauche du notebook.

7voto

thewaywewere Points 3784

Vous pouvez essayer la commande suivante.

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

Selon Manuel Jupyter nbconvert ci-dessous, nbconvert avec --execute permet d'exécuter un carnet de notes.

enter image description here J'espère que cela fonctionnera pour vous.

3 votes

Ça n'a pas marché. Je reçois [NbConvertApp] WARNING | pattern u'mynotebook.ipynb' matched no files This application is used to convert notebook files (*.ipynb) to various other formats. et une longue liste de messages qui suivent.

0 votes

@multigoodverse Il semble que le WARNING indique qu'aucun fichier ipynb n'est trouvé. Pourriez-vous utiliser le chemin absolu vers le fichier spécifique mynotebook.ipynb ?

2 votes

J'obtiens la chose la plus sensée en utilisant le chemin absolu.

7voto

Kevin Points 3376

Cela ne peut pas être la méthode la plus souhaitable. Peut-être existe-t-il une option native à Jupyter ou à l'application extensions mais je n'en ai pas rencontré, et je n'ai pas non plus ressenti le besoin de le faire. La documentation suggère que les développeurs encouragent les utilisateurs à se poser sur le tableau de bord.

Commencez par un cahier vide Untitled.ipynb . Pour le générer, enregistrez le fichier par défaut qui est créé lorsque vous créez un nouveau notebook à partir du tableau de bord de jupyter. Ce notebook vide sera utilisé comme modèle pour créer de nouveaux notebooks vides à la ligne de commande. Le contenu du fichier Untitled.ipynb pour moi, jupyter version 4.4.0, ressemble à ceci :

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

Le fichier contient le strict minimum nécessaire pour lancer un ordinateur portable en utilisant jupyter notebook Untitled.ipynb (et éventuellement mynotebook.ipynb ) ; si elle est inférieure, un NotJSONError . Vous pouvez ajouter quelques métadonnées au modèle si vous souhaitez inclure un noyau par défaut.

A partir de là, utilisez substitution de commande pour ouvrir un nouveau carnet de notes vide à partir de la ligne de commande où Untitled.ipynb est le chemin d'accès au carnet de notes modèle créé ci-dessus et mynotebook.ipynb est le nom du carnet de notes que vous souhaitez créer :

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

0 votes

Merci pour cela ! Je viens de faire une modification mineure, qui consiste à utiliser un heredoc : github gist

1voto

nburrus Points 11

J'avais le même problème et j'ai créé nbplot pour le réparer : https://github.com/nburrus/nbplot . Il a été conçu pour tracer rapidement des fichiers dans un carnet à partir de la ligne de commande, mais dans l'ensemble, ce n'est qu'un petit outil pour générer des carnets à partir de modèles et les ouvrir dans le navigateur. Voici comment l'utiliser avec le modèle vide inclus pour répondre à votre question :

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

Il s'efforcera de réutiliser intelligemment les serveurs de blocs-notes existants au lieu d'en créer toujours un nouveau, et il est facile d'ajouter des modèles de blocs-notes personnalisés à la base de données des blocs-notes. ~/.nbplot/ si vous ne voulez pas commencer avec un cahier vide.

0voto

Petronella Points 629

Jupyter va commencer à fonctionner sur le serveur Tornado sur localhost. Le lien est quelque chose comme http://localhost/Tree Lorsque vous ouvrez un notebook, cela se fait dans une autre page. Vous pouvez essayer d'écrire un batch script pour appeler kupyter notebok, puis appeler votre navigateur avec l'adresse de votre notebook. Je suppose que si le notebook n'existe pas, n'est pas créé, alors cela ne fonctionnera pas (la page est note créée, elle ne peut pas être ouverte).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X